我通过 ssh/scp 连接到我的主机的服务器,主要是通过 Linux 机器,多年来一切运行良好。
现在,突然之间,大多数连接尝试在输入密码提示之前就失败了,并出现以下错误(取决于 SSH 客户端版本):
> kex_exchange_identification: Connection closed by remote host
> Connection closed by xxx.xxx.xxx.129 port 22
或者
> ssh_exchange_identification: Connection closed by remote host
> Connection closed by xxx.xxx.xxx.129 port 22
不过,有些连接尝试还是有效的,并且保持了稳定的连接。这已通过多个客户端得到证实:
- Android 上的 JuiceSSH
- Linux 上的 OpenSSH_8.3p1(当前)
- Linux 上的 OpenSSH_6.0p1(旧版,从未更新)
- 档案
以及来自多个网络。尽管如此,我的托管商还是一直将责任归咎于我的客户或我的 IP 地址。
有什么建议可以进一步追踪吗?(是的,我知道我应该从像这样无能的托管商那里换过来,但是移动所有服务需要一周的时间......)
答案1
尝试捕获 ssh 调试(ssh -vvv )并查看它告诉您什么。您应该看到 kex 交换信息,它将告诉您服务器支持哪些 kex 算法,客户端支持哪些 kex 算法,如果成功,它们同意哪一个。
它还将为您提供更多信息,可能准确地显示故障位置。