ssh相关的设置

【注意:修改ssh相关配置文件前,记得做好备份。】

1、ssh远程登录失败处理(限制非法登录次数)

启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施。

例如:登录次数限制:3次 锁定时间5分钟

vi /etc/pam.d/sshd

在#%PAM-1.0下面添加一行(即第二行,也必须是第二行,如果写在后面的话,虽然账户也会被锁定,但是只要输对了密码,不用等待锁定的时间结束即可以登录):
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=600

可用命令:
#sed -i '2aauth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=600' /etc/pam.d/sshd

 ---------------------

此登录失败处理为ssh登录,如需设置tty终端登录,则设置 /etc/pam.d/login 设置和ssh远程登录锁定设置一样

2、修改banner信息

#cat /etc/ssh/sshd_config 查看文件中是否存在banner字段,或banner字段为NONE

#cat /etc/motd 查看文件内容,该处内容将作为banner信息显示给登录用户

加固方法:

#vi /etc/ssh/sshd_config
banner NONE

#vi /etc/motd
删除全部内容或更新成自己想要添加的内容

风险:无可见风险

3、修改ssh远程端口号

 1、编辑 vi /etc/ssh/sshd_config

#port 22 把注释#去掉,更改端口号,如8789

2、防火墙开放端口8789: #iptables -I INPUT -p tcp --dport 8789 -j ACCEPT

3、重启服务:service sshd restart

 注意:修改端口错误可能会导致你下次连不到服务器,可以先同时开着22和6022两个端口,然后再关掉22端口;

重启sshd不会弹掉你当前的连接,可以另外开一个客户端来测试服务;

4、修改版本号

ssh -V (查看ssh的版本)
修改版本号: # sed -i 's/OpenSSH_4.3p2/OpenSSH_5.6p1/g' /usr/bin/ssh

5、禁止root用户远程登录

vi /etc/ssh/sshd_config
修改 PermitRootLogin yes 改为no

6、设置ssh自动断线时间(以及终端断开时间)

#vi /etc/profile 或者 #vi /etc/bashrc
添加 TMOUT=600 (以秒为单位)

 __________

或者(与上面同时设置,则此设置优先):
修改自己 HOME 目录下的.bash_profile文件,加上
export TMOUT=600 (以秒为单位)
然后运行 source .bash_profile

7、启动防火墙(iptables)之后,登录ssh变慢

开启防火墙之后,登录ssh变慢的解决方法。

问题描述:
没有启动iptables服务,登录ssh速度很快。
启动了iptables服务之后,登录ssh就会变得很慢。


这段内容,可以帮助大家理解:
UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。


编辑 /etc/ssh/sshd_config

将#UseDNS yes 改为 UseDNS no ,保存退出(注意:虽然是注释状态,但默认启用了UseDNS,状态为yes)

重启ssh服务:service sshd restart

8、限制ip登录的安全策略方法

比如说你只允许10.0.0.2这个ip进入,其它都禁止:

vim /etc/ssh/sshd_config
添加一行:

allowusers root@10.0.0.2
注:root为你用来登入服务器的用户名

最后sshd重启

service sshd restart

原文地址:https://www.cnblogs.com/qiaosipo/p/12519937.html