哈喽各位爱学习的小伙伴们,我最近遇到了一个ssh远程慢的问题,输入ssh后,需要等10+s才会出现密码验证的页面,通过 ssh ip -vv 查看,连接慢速的节点是DNS解析的过程,/etc/resolv.conf文件中nameserver 配置的为xx.xx.xx.xx,但是本地是ping不通这个ip的,就会导致解析失败。直接将nameserver 改为本地ip,就解决了该问题。
默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名,如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况。
总结一下,可以用以下两个方法解决连接速度慢问题:
1.修改ssh的配置文件 /etc/ssh/ssh_config,将 GSSAPITrustDNS no前面的注释取消掉,显示指定不进行DNS解析,重启sshd服务即可。
2.修改DNS解析配置文件/etc/resolv.conf,若不需要配置DNS,可直接将nameserver注释掉,也可解决该问题。
除去我本次发现的问题之外,也可能有多种原因导致ssh慢速问题,大家可通过ssh ip -vv 可以查看到ssh连接过程中主要慢在了哪里,再进行下一步的分析。
![e55e514226220db6687cf5aa81151265.png](https://i-blog.csdnimg.cn/blog_migrate/ef233319c525284882c10e92bf970fcd.jpeg)