SSH登录卡顿解决方案
在使用ssh远程登录Linux主机时,经常出现需要等待一段时间才能登录,甚至登录超时的情况
原因一:SSH服务器默认开启了DNS的查询功能:UseDNS=yes
当UseDNS
选项处于开启状态时,客户端试图登录SSH服务器,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。
vim /etc/ssh/sshd_config
UseDNS=no
#添加该选项
service sshd restart
#重启sshd服务
原因二:若SSH服务器开启了GSSAPI登录验证模式:GSSAPIAuthentication=yes
,默认不开启
GSSAPI是公共安全事务应用程序接口(GSS-API)
GSSAPIAuthentication 是否允许使用基于 GSSAPI 的用户认证.默认值为"no".仅用于SSH-2.
GSSAPICleanupCredentials 是否在用户退出登录后自动销毁用户凭证缓存。默认值是"yes".仅用于SSH-2.
若服务器开启了该验证机制,但客户端并未使用该身份验证机制,则会导致验证过程出现延迟
vim /etc/ssh/sshd_config
GSSAPIAuthentication=no
#关闭GSSAPI验证机制
service sshd restart
#重启sshd服务