通常情况下,当您第一次使用ssh
连接到主机时,会收到如下消息:
The authenticity of host 'nova.example.com (192.168.0.63)` can't be established.
ECDSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
然后可以针对主机的已知指纹检查密钥指纹,以确保您实际连接到您认为自己的主机。
我现在正试图进入一个新的Amazon EC2实例,我找不到ssh在管理控制台的任何地方报告的ECDSA密钥指纹。
我能找到的一个指纹是“NETWORK& SECURITY»Key Pairs”,但它与ssh的报告不符。据我所知,这实际上是AWS为我生成的私钥的指纹,而不是主机密钥。
也许我只能在EC2实例上说“是”和运行“ssh-keygen -lf”,但我并不相信这实际上可以防止中间人攻击。 (事实上,checking ssh public key fingerprints上的这个页面恰好表明了这种可能性。)
如何在连接到EC2实例时正确验证ssh返回的ECDSA密钥指纹?