我在生产环境中使用了 ssh-keyscan。可以恢复吗?

我在生产环境中使用了 ssh-keyscan。可以恢复吗?

我在生产环境中使用了 ssh-keyscan,后来才知道它可能允许 MITM。我检查了 known_hosts 文件,没有找到指纹。我可以在哪里检查或者有什么选择吗?

答案1

known_hosts 文件不包含指纹,只包含您添加的完整(公共)密钥。

要显示指纹,请使用ssh-keygen -l -f ~/.ssh/known_hosts并且如果您愿意,可以添加-v开关来显示与指纹一起提供的密钥的视觉 ASCII 艺术表示。

ssh-keygen -l -f ~/.ssh/known_hosts

2048 SHA256:2ggdJPUVnjTHdG36iGw7Du8knzvPSLgF6fTBUhzn3d5 service.example.com,192.168.2.87 (RSA)
256  SHA256:6QZWKiXoFC8qRg3ZhClY4RcUPX8F2ROOREmysPT5JW9 example.com (ECDSA)

实际的known_hosts文件看起来像这样:

service.example.com,192.168.2.87 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA...8sw==
example.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNo..C0N9T3Y4poTAXTuMyXZEPRywi28=

文件中的每一行known_hosts包含以下字段:标记(可选)、主机名、密钥类型、base64 编码密钥、注释。字段之间用空格分隔。

HashKnownHosts设置后 ,主机名可能会以散列形式存储。散列主机名以|字符开头。

相关内容