系统默认使用root SSH登录服务器,这会造成黑客不断尝试使用root进行登录,除非你的密码足够负责,不然存在一定的风险。
例如使用root登录时收到提示:There were XXXX failed login attempts since the last successful login.
以下为提升CentOS SSH登录安全的方法:
一、新建用户
1、新建用户,这里新建一个temp_test的用户
adduser temp_test
2、设置新用户密码
passwd temp_test
3、将sudoers文件的权限修改成可编辑
chmod -v u+w /etc/sudoers
4、使用vim编辑sudoers文件
vim /etc/sudoers
5、在sudoes文件中添加如下的内容
找到root ALL=(ALL) ALL
然后添加temp_user ALL=(ALL) ALL
如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可。
6、将sudoers文件的权限修改成不可编辑
chmod -v u-w /etc/sudoers
二、给用户增加SSH权限
1、修改ssh配置文件,在最后一行添加AllowUsers name
vi /etc/ssh/sshd_config
2、重启ssh服务
service sshd restart
可以在/etc/ssh/sshd_config中增加AllowUsers:username(可以多个,空格分开)给普通用户增加ssh权限
也可以设置允许和拒绝ssh的用户/用户组:
DenyUsers:username,DenyGroups:groupname
优先级如下:
DenyUsers:username
AllowUsers:username
DenyGroups:groupname
AllowGroups:groupname
在给普通用户设立ssh权限后,即可将root ssh权限禁用,增加安全性(也可以在sshd_config中将PermitRootLogin 选项修改为:PermitRootLogin no)
三、禁用root登录
1、编辑配置文件/etc/ssh/sshd_config 修改PermitRootLogin 后面的yes 为 no ,并且去掉前面的注释符,同时可以限制失败次数
注意: 这个失败次数是对所有用户都起作用的。
PermitRootLogin no
MaxAuthTries 3
2、最后重启sshd服务 systemctl restart sshd.service,此时再用root用户登录,如果不能登陆则代表配置成功。如果需要使用root权限,可以使用su/sudo进行切换
四、附一些查询
1、查看用户:cat /etc/passwd
2、删除用户:userdel 用户名
3、查看组:cat /etc/group
4、删除组:groupdel 组名
5、查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
6、查看系统版本:cat /etc/redhat-release
7、查看SSH服务有什么错误:/usr/sbin/sshd -T