我考虑过这一点,我的主机提供了带外支持,所以我可以简单地创建带外的关键指纹,并在从家里连接到服务器时进行比较。
除了带外访问之外,还有其他方法可以验证您连接到的主机确实是您购买的服务器吗?
如何在实践中做到这一点?
发布于 2010-12-24 04:54:14
如果我对你的理解是正确的,你是在问,除了带外通道之外,是否有任何方法可以安全地检索你的ssh服务器的公钥指纹。严格地说,答案必须是否定的,因为理论上,中间人(MITM)可以设置一个虚假的ssh服务器,允许您“登录”,而不管您提供什么凭据。如果您事先不知道您真正服务器的公钥指纹,您将无法知道假服务器的指纹不是您真正服务器的指纹。
在实践中,大多数人假设(而且在大多数情况下是有道理的) MITM实际上欺骗他们的几率很低,因此他们只是接受第一次连接时给他们的服务器密钥指纹是他们真正的ssh服务器的指纹,而不是假的。
当然,随着时间的推移,当您与服务器建立许多ssh连接时,看到MITM试图欺骗您的几率就会增加。幸运的是,对于第一个连接之后的每个连接,服务器的公钥将存储在您的known_hosts文件中。因此,如果MITM在任何特定连接尝试期间(在第一次连接之后)确实尝试了一些恶作剧,ssh客户端将立即通知您刚才收到的服务器密钥与预期的不匹配,并且连接将被中止。
总之,如果您有知道服务器密钥的带外方法,那么在进行更新known_hosts文件的第一个连接时,应该使用它来验证密钥。但即使你没有这样的手段,尽管理论上存在安全风险,但风险可能很小。
https://serverfault.com/questions/215853
复制相似问题