来自AI助手的总结
SSH登录卡顿因服务器反查DNS超时,配置UseDNS no可解决

一、问题描述
通过SSH登录Linux服务器时,输完用户名就卡住了,需要等待10s才提示密码输入。
二、问题解决思路
2.1 抓包
1、在Linux服务器上抓包
2、从笔记本SSH到Linux服务器,输入用户名并回车
3、等待10s左右,直到登录界面提示输入密码
4、停止抓包
2.2 数据包分析
1、观察到21号包和25号包之间恰好间隔10s.
2、使用frame.number>21 && frame.number<25过滤表达式进行过滤,观察到,Linux服务器当时正向DNS服务器查询IP地址对应的PTR记录,试图获得这个IP地址(笔记本IP地址)所对应的域名。耗时大约10s左右。
2.3 解决步骤
1、在DNS服务器中添加了笔记本IP地址的PTR记录
2、再次登录Linux服务器,发现无卡顿
3、可以使用vi /etc/ssh/sshd_config 命令修改默认配置为”UseDNS no”。(查找用”/DNS+回车键”)
[root@localhost server]# vi /etc/ssh/sshd_config
UseDNS no
4、修改后使用cat /etc/ssh/sshd_config |grep -i usedns命令查看配置情况。
[root@localhost server]# cat /etc/ssh/sshd_config |grep -i usedns
UseDNS no
2.4 总结
这台Linux服务器在收到SSH访问请求时,会先查询该客户端IP所对应的PTR记录。假如经过5s还没有收到回复,就再发一次查询。如果第二次查询还是等了5s没回复,就彻底放弃查询。也就是说如果DNS查询成功,就不用等10s。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END






暂无评论内容