我有一个 Ubuntu 18.04 LTS 服务器,我通常通过 Windows 10 Pro (1903) 的 Putty 连接到该服务器,没有问题。最近我收到了来自 Putty 的警告“服务器支持的第一个密钥交换算法是diffie-hellman-group1-sha1,它低于配置的警告阈值。”
我最初试图继续,但令我惊讶的是,当我输入密码时,我得到了拒绝访问。
现在我了解到这个 kex 被认为是遗留的和/或弱/不安全的。我想了解我的服务器上发生了什么变化/可能发生了什么变化来触发这个,因为我可以在没有这个警告的情况下连接?
我可以做什么(如果有的话)将我的服务器重置为出现此问题之前使用的任何内容?我已经尝试重新安装openssh-server和客户端无济于事。我尝试在/etc/ssh/sshd_config文件中添加KexAlgorithms行,但这会导致 ssh 无法启动。
我知道我可以将该 kex 移到 Putty 中的警告线上方以使警告消失,但我不想这样做,就像我上面提到的那样,即使没有警告,我在登录时也收到拒绝访问。
老实说,这听起来像是 PuTTY 发生了一些变化(升级或诸如此类)。
PuTTY 警告服务器正在提供弱密钥交换方法。由于客户端会选择它支持的最高方法,所以我并没有真正看到这里的危险。
您可能会被拒绝访问,因为 PuTTY 正在中止密钥交换过程,并且服务器不允许您使用密码登录。
我建议完全转储 PuTTY 并在笔记本电脑上的 WSL 下安装 Ubuntu。然后,您将拥有一个功能齐全的 OpenSSH 客户端。然后,您可以使用 -vvvv 执行 ssh 并准确查看正在协商/交换的内容。
编辑:您可能想要验证的一件事是您实际上连接到正确的 IP 地址?或者其他一些设备没有使用与 Ubuntu 服务器相同的 IP。根据进一步的研究,自 16.04 以来 Ubuntu 服务器不应提供该选项。