使用远程shell工具SSH登录Linux主机,输完用户名回车后就卡住,10秒后才提示输入密码。
使用wireshark抓全过程包
因为ssh是加密了的协议,所以弄不懂里面内容是正常的,但可以加以过滤。
过滤栏:SSH
找到时间间隔大概为10s的NO.是x到y
过滤栏:frame.number>x&&frame.number<y
观察得出此处是DNS查询行为
原因:Linux服务器在收到SSH访问请求时,先会查询该客户端IP对应的PTR记录。假如经过5s没有收到回复,就再次发一次查询,若再过5s还是没有收到回复,就彻底放弃查询。
解决方法:在DNS服务器上添加PTR记录。再次测试,发现10s的卡顿木有了,很神奇484.
问题定位:ssh dns
在/etc/ssh/sshd_config中有相关配置:
cat /etc/ssh/sshd_config | grep -i usedns
#UseDNS yes
将其改为no即可不去查询ssh访问者的PTR记录
转载于:https://blog.51cto.com/10919859/1768493