我曾考虑过这个问题,而且我的主机提供了带外支持,所以我可以简单地创build带外密钥指纹,并在从家中连接到该服务器时进行比较。
除了带外访问之外,还有其他方式可以validation您连接的主机的确是您购买的服务器吗?
这在实践中是如何完成的?
如果我正确地理解了你的话,你是问是否有任何的手段—除了带外通道—安全地检索你的SSH服务器的公钥指纹。 严格地说,答案肯定是否定的 ,因为从理论上讲,中间人(MITM)可以设置一个伪造的ssh服务器,允许你“login”,而不pipe你提供的凭证是什么。 如果您事先不知道真实服务器的公钥指纹,则无法知道假服务器的指纹不是真实服务器的指纹。
在实践中,大多数人认为(在大多数情况下是合理的),MITM实际欺骗他们的几率是非常低的,所以他们只是接受第一次连接时提供给他们的服务器密钥指纹是他们的真正的SSH服务器,而不是一个假的。
当然,随着时间的推移,许多ssh连接到你的服务器,看到一个MITM试图欺骗你的可能性将会累积。 幸运的是,对于您在第一个连接之后进行的每个连接,服务器的公钥将存储在您的known_hosts文件中。 所以,如果一个MITM在任何特定的连接尝试(第一个之后) 中尝试了一些欺骗,你的ssh客户端会立即提醒你刚刚收到的服务器密钥与预期的不匹配,并且连接将会被中止。
总之,如果你有带外知道你的服务器密钥的方法,那么你应该使用它来validation密钥,当你进行第一次连接,更新你的known_hosts文件。 但即使没有这样的手段,虽然存在理论上的安全风险,但风险可能很小。