centos服务器ssh的安全设置介绍,有需要的朋友可以参考下。
1.更改默认端口
网上很多针对22端口扫描的软件,如此修改后,就不会轻易被误伤了。
sed -i 's/#Port 22/Port 33333/g' /etc/ssh/sshd_config
#更改ssh端口为3333
2.禁止root登录
新建普通用户登录,登录后可su -转入root账户,让恶意登录者无法猜测用户名。
useradd onovps #新建用户名
passwd onovps #设置密码
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
#禁止root登录
service sshd restart #重启ssh服务生效
3.限制登录失败次数并锁定
vim /etc/pam.d/login
在#%PAM-1.0下面添加:
auth required pam_tally2.so deny=5 unlock_time=180 #登录失败5次锁定180秒,不包含root
auth required pam_tally2.so deny=5 unlock_time=180 even_deny_root root_unlock_time=180 #包含root
4.允许特定的用户登录
编辑ssh配置文件:
vim /etc/ssh/sshd_config
AllowUsers user
#默认允许全部,多个用户以空格隔开,也可拒绝特定用户登录。
DenyUsers user
5.设置重复验证次数,默认3次
MaxAuthTries 0
#错误一次即断开连接
6.直接用iptables封闭ssh端口,为ssh服务器设置开门钥匙。
一般做这些设置就足够了,也可设置为禁用密码用密钥登录,不同客户端方法不同,以后再写吧。