![RSA 密钥指纹不匹配](https://linux22.com/image/1607408/RSA%20%E5%AF%86%E9%92%A5%E6%8C%87%E7%BA%B9%E4%B8%8D%E5%8C%B9%E9%85%8D.png)
我尝试从我的 Mac SSH 到我的 iPhone,并收到以下消息:
The authenticity of host '192.168.1.253 (192.168.1.253)' can't be established.
RSA key fingerprint is SHA256:P8yscqMVDOPOQ24i3qJjcm4hUMeeuxDy7JkRegtV20Q.
Are you sure you want to continue connecting (yes/no)?
我在 iPhone 上输入内容ssh-keygen -lf /var/mobile/.ssh/id_rsa.pub
来检查指纹,但显示的指纹与 Mac 上显示的指纹不匹配。
为什么指纹不匹配,我该如何在不损害联系的情况下解决这个问题,例如与中间人?
我真的不知道发生了什么,我只是在寻找解决方案,所以我希望有人能帮助我
更新
我ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
改为运行,结果确实匹配。我可以连接了吗?
答案1
为什么指纹不匹配
因为有两对密钥,并且它们具有不同的(相反的)用途。
密钥对用于
~/.ssh/id_rsa[.pub]
验证客户(您)登录到服务器。当您从 Mac 通过 SSH 连接到其他主机(您这里是 iPhone)时会用到它,它允许您无需密码即可登录到这些主机。密钥对用于
/etc/ssh/ssh_host_rsa_key[.pub]
验证服务器(iPhone)到您的客户端。当您从其他主机通过 SSH 连接到 iPhone 时,会用到它,它可以让您验证是否连接到正确的设备。