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服务

相关推荐