解决ssh连接慢,挂起在SSH2_MSG_SERVICE_ACCEPT信息之后很久的问题

问题现象:无论是ssh 还是 scp 都会连接很久才提示输认证信息(注意:是连接慢)

如本机IP:192.168.18.208 (Hostname: ThinkPad)

目标主机:192.168.18.100

通过添加 -v 参数(ssh -v name@192.168.18.100 | scp -v file name@192.168.18.100:/tmp/)发现到SSH2_MSG_SERVICE_ACCEPT一行时会停留很久,不少于20s

网上给的解决方法大致有三种:

1)由于GSSAPI认证导致的,修改/etc/ssh/sshd_config,将对应行修改成(没有的自己添加):

GSSAPIAuthentication  no

 2)由于DNS解析导致的,还是修改/etc/ssh/sshd_config,在最后添加一行:

UseDNS no

 3) 修改/etc/nsswitch.conf,将“hosts:”一行改成:

hosts:          files dns

 但是,测试发现都不顶事!!

最后有效的解决方法是:修改目标主机的/etc/hosts文件(192.168.18.100),将本地主机的IP和Hostname添加进去,如:

192.16.18.208    ThinkPad

 然后就不会再出现延迟了。

参考:http://www.arvinep.com/2015/07/slow-ssh-login-ssh2msgserviceaccept.html

原文地址:https://www.cnblogs.com/wzc0066/p/6912794.html