问题现象:无论是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
然后就不会再出现延迟了。