当使用 PuTTY 连接到新主机时,我经常收到警告
服务器的主机密钥与 PuTTY 在注册表中缓存的密钥不匹配。
我按下后
是的
PuTTY 将服务器 RSA 密钥添加到 Windows 10 的注册表中,我将能够登录远程服务器,并且不会再次出现警告。
我知道 RSA 密钥是成对出现的,包括公开的和私有的。我想了解的是服务器将哪个密钥保存到我的本地机器中,我猜是服务器的公钥。
此外,当 PuTTY 与服务器建立初始 SSH 连接时,服务器如何决定转发哪个密钥?假设服务器有公钥列表,是否有任何客户端尝试建立连接的通用密钥?
这个通用密钥存储在服务器上的什么地方?下/root/.ssh/ authorized_keys?
一般来说,当你得到
警告 - 潜在的安全漏洞!
服务器的主机密钥与 PuTTY 在注册表中缓存的主机密钥不匹配。
这是MITM 攻击的迹象。
另请参阅 PuTTY 文档以了解警告 - 潜在的安全漏洞!(消息的主要部分是什么,您在问题中以某种方式省略了)。
对于新服务器,您永远不会收到此消息。当然,除非新服务器重复使用某些废弃服务器的 IP 地址/主机名。在这种情况下,可以忽略该警告。
当然,它是PuTTY 缓存的公钥。私钥是秘密的,除了服务器管理员之外,任何人都不能访问它。所以 SSH客户端无法获取它。
服务器确实可以拥有多个针对不同算法的密钥对(每种算法一个,例如 RSA、DSA、ECDSA、ED25519)。客户端和服务器将就使用的最佳算法达成一致(服务器和客户端都支持的算法中的最佳算法)。
密钥对通常存储在/etc/ssh(在带有 OpenSSH 的 Linux 上)。
尽管您的问题的措辞暗示您可能会将服务器/主机密钥对与用于向服务器进行身份验证的密钥对混淆。
请参阅我的有关了解 SSH 密钥对的文章。
| 归档时间: |
|
| 查看次数: |
12335 次 |
| 最近记录: |