提升CentOS SSH登录安全

系统默认使用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