菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
242
0

解决了一个ssh登录缓慢的问题

原创
05/13 14:22
阅读数 124813

今天同事说有一台linux服务开发机登录特别慢,但登录上去克隆连接时就很快,让我帮忙看看。

我用ssh -vvv 服务器ip命令查了一下,发现卡在“SSH2_MSG_SERVICE_ACCEPT received”很久没返回

网上找了一下,说是dns问题

于是想起之前处理过一个oracle数据库登录缓慢问题 https://www.cnblogs.com/kingstarer/p/13772958.html

当时是发现 /etc/resolv.conf 下面配置的dns服务器有问题,导致数据库登录需要好几秒

登录上去这台服务器后,我立马检查了一下 /etc/resolv.conf ,发现里面的dns服务器果然配置错了,我把它改成114.114.114.114

再断开,重新登录,这次登录就很快了

顺便再记录两个别人解决相同问题的文章

https://blog.csdn.net/weixin_42715413/article/details/84643885 解决ssh连接慢,挂起在SSH2_MSG_SERVICE_ACCEPT信息之后很久的问题

通过添加 -v 参数(ssh -v root@172.17.1.61 很重要的思路)

发现到SSH2_MSG_SERVICE_ACCEPT一行时会停留很久

1、由于GSSAPI认证导致的,修改/etc/ssh/sshd_config,将对应行修改成:

GSSAPIAuthentication  no

服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住了。

2、由于DNS解析导致的,还是修改/etc/ssh/sshd_config(我的问题出在这):

UseDNS no

我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗(说到底还是反向查询的问题)。

3、修改/etc/nsswitch.conf,将“hosts:”一行改成:

hosts:          files dns

4、修改目标主机的/etc/hosts文件,将本地主机的IP和Hostname添加进去

发表评论

0/200
242 点赞
0 评论
收藏