我知道这个问题被问了好几次,例如:
然而,没有人给出我希望找到的答案(我想.)。
我正在使用一个特定的云提供者,在那里我为SSH身份验证生成一个私钥/公钥。我将公钥上传到云实例中,将私钥存储在客户端。当我想要SSH到云实例时,我使用私钥打开SSH连接。通过这样做,服务器将对客户端进行身份验证。
有什么能阻止MITM攻击者劫持我的连接和欺骗服务器的公钥呢?他只需要公钥,对吧?
我不明白指纹验证在这种情况下有什么帮助。除非存在另一对公钥/私钥,这些密钥只能用于客户端对服务器的身份验证。
谢谢
发布于 2015-11-11 13:04:44
简短回答:不。攻击者也需要私钥。
SSH协议使用加密来保护传输。因此,它将使用一个公开的和私人的钥匙。有人可能会给你发送一个伪造的公钥,但如果没有相应的私钥,他们将无法解密通信,握手将失败,客户端将断开连接。
但是,如果攻击者同时拥有公钥和私钥,他们可以拦截您与服务器之间的每一个通信。
https://security.stackexchange.com/questions/105230
复制相似问题