Linux中root用户权限比较大,被不法人员获知账户和密码后,用root登录后,可以对服务器做任何操作,对服务器危害较大,故需要禁止root用户登录,并且修改登录端口,这样就算root密码泄露,端口不是默认,也无法登录服务器
1、禁止root用户登录
修改/etc/ssh/sshd_config文件
[root@localhost ssh]# vi /etc/ssh/sshd_config
修改文件38行内容,进入到编辑器模式下后,直接定位到38行,该行内容是#PermitRootLogin yes
其中#表示注释,不起作用,将#号去掉,后面yes修改为no 修改完以后是:PermitRootLogin no 保存退出
重启sshd服务 执行 systemctl restart sshd 命令
[root@localhost ssh]# systemctl restart sshd
再次用使用终端用root用户登录登录不上
禁止root用户远程登录以后,需要给普通账户提权,使用普通账户登录以后然后进行切换到root账户,这样在能保障root账户安全情况下又能在登录服务器以后对服务器进行操作
创建一个普通用户aa
[root@localhost etc]# useradd aa
修改用户aa的密码
[root@localhost etc]# passwd aa
Changing password for user aa.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
修改文件/etc/sudoers文件
[root@localhost etc]# vi /etc/sudoers
进入文件中定位到91行 ## Allow root to run any commands anywhere 仿照92行内容就行更改 root ALL=(ALL) ALL
在92行下面添加 aa ALL=(ALL) ALL 保存退出
用aa账户登录服务器后,执行su root切换到root用户
[aa@localhost ~]$ su root 其中【】中aa表示当前登录用户是aa
Password:
[root@localhost aa]# 此时【】里面登录用户改为root
2、修改登录端口 ssh默认登录端口是22 这个大家都知道,不修改的话,黑客很容易就尝试
修改/etc/ssh/sshd_config文件
[root@localhost ssh]# vi /etc/ssh/sshd_config
在文件第17行表示使用端口,17行内容是 #Port 22
在17行下面添加一行 Port 5650 (5650端口是自己随便写的 不用固定 只要记住 自己写的端口 后面访问服务器时配置好就行)
修改好文件内容后保存退出。
由于5650这个端口是我们随便写的,在防火墙开启状态下这个端口是关闭的,所以我们要在防火墙中开放这个端口或者关闭防火墙,简单操作就是关闭防火墙。
[root@localhost etc]# systemctl stop firewalld
临时关闭selinux这个访问机制,使用setenforce命令
[root@localhost etc]# setenforce 0
重启sshd服务
[root@localhost etc]# systemctl restart sshd
重新使用22端口连接服务器 连接补上
需要将端口修改为5060才可以重新连接成功