Centos7.9ssh远程连接虚拟机速度慢问题排查
一、问题
使用mobaxterm去连接笔者自己的虚拟机时,发现速度很慢。
二、排查
1、常见情况
一般ssh远程连接速度慢的时候,可以优先考虑ssh服务配置文件中的2个参数是否修改。
grep UseDNS /etc/ssh/sshd_config
grep GSSAPIAuthentication /etc/ssh/sshd_config
systemctl restart sshd
将这2个参数的值修改为no以后,再重启sshd服务即可生效
2、特殊情况
但笔者所遇到的问题显然不是上述原因造成的,这些参数值原本就是优化后的,这时需要检查日志。
tail -f /var/log/secure
使用-f
参数可以实时刷新出最新的日志,而/var/log/secure
是ssh连接输出对应信息的日志文件。
此时我们重新打开一个会话,尝试去ssh连接虚拟机,观察日志。
被红色框住的部分,是打开新连接会话的输出日志,大概意思就是连接超时,创建会话失败,并且是systemd-logind
服务在处理ssh会话时出现了超时问题。
所以首先检查systemd-logind
服务状态。
systemctl status systemd-logind
结果如下。
虽然服务是运行状态,但是日志明显有报错,在systemd-logind
服务尝试清理已断开的会话时,与某个会话的通信通道已失效。
众所周知,重启服务可以解决90%以上的问题,这一般也是最快最有效的。
systemctl restart systemd-logind
systemctl status systemd-logind
重启以后,这个服务就没有报错了。
再重新打开一个连接会话,检查发现打开的速度正常了。
检查日志,也没有报错信息。
三、ssh远程连接被拒绝问题
(2025年4月13日添加)
上述方法确实可以解决远程连接较慢的问题,但后面出现了连接失败的现象。
笔者后续的实验中,删除现虚拟机,新建一个虚拟机,IP与之前相同,还是会存在报错,这次将dbus
服务重启了,依旧ssh远程连接失败。
笔者突然意识到,都删除旧虚拟机,重新装一个Linux还是报错,那就只有可能是IP冲突了。
现有的虚拟机关机,从cmd命令行ping了一下此IP,居然ping通了…
检查一下Windows电脑的内网IP,果然和虚拟机的IP一样。
真相大白,的确是电脑的内网IP和虚拟机设置的IP相同。
这个问题的结果有点哭笑不得,但也确实给笔者的运维工作上了一课,记忆深刻。