SSH登录卡顿解决方法
最近遇到部分Linux登录卡顿的情况,现象为连接很久之后才跳出输入认证密码的框,开启SSH客户端的调试日志,发现是出现在请求认证的时候,具体日志如下:
... [LOCAL] : Changing state from STATE_EXPECT_NEWKEYS to STATE_CONNECTION [LOCAL] : SEND: SERVICE_REQUEST[ssh-userauth] [LOCAL] : RECV: SERVICE_ACCEPT[ssh-userauth] -- OK [LOCAL] : SENT : USERAUTH_REQUEST [none] [LOCAL] : Authenticating as user root <!-- 在此处卡顿很久 --> [LOCAL] : RECV : USERAUTH_FAILURE, continuations [publickey,gssapi-keyex,gssapi-with-mic] [LOCAL] : SENT : USERAUTH_REQUEST [publickey (ssh-rsa) - unsigned,fingerprint (SHA-2 hash) ...
在网上搜索了很多文章,均是要求将 GSSAPIAuthentication 设置为 no ,但是发现对此卡顿无效。
最后通过不断尝试,在 /etc/ssh/sshd_config 文件中将 UseDNS 设置为 no 解决问题。
UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。
原文链接地址:http://blog.exsvc.cn/article/ssh-login-slow.html
转载请注明:转载自 易科博客 ,谢谢!