1. 现象参考以下文章:
https://blog.csdn.net/wxlbrxhb/article/details/84703762
安装linux系统后我们经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。
本人在得到公司分配的服务器A后就遇到了这样的问题,具体现象如下:
1、ping服务器A反馈时延正常。
2、使用ssh连接服务器A要等待10秒后才显示连接对话框。
3、在服务器A上使用route命令查看路由要等待10秒后才显示路由内容。
4、对外进行https访问时,DNS解析或要等待10秒后才能进行正常的http访问。
在网上查了大量的资料得知可能是由于DNS解析的问题导致的,具体为server的sshd会去DNS查找访问client IP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间。
正常情况下默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。
2. 解决办法参考以下文章: