我每次跑步都会得到不同的钥匙ssh-keyscan -H some.hostname.example
。这是为什么?服务器是否不断更改密钥?
ssh
我从一次运行中获得的密钥即使在后续运行后似乎也能工作,因为当我进入服务器时我没有收到任何警告,即使我已将一组密钥保存到~/.ssh/known_hosts
.
编辑:我错了,键没有改变,但是第一列(带有主机名)发生了变化。表格上有|1|<something base64>|<something else base64>
啊我不太确定 Base64 编码的内容,但它似乎是二进制的。
答案1
主机名部分经过哈希处理。相同的名称/IP 可能具有不同的哈希值(请记住,您使用了 ssh-keycheck -H)。所以这是正常行为。
答案2
答案在这里https://security.stackexchange.com/questions/56268/ssh-benefits-of-using-hashed-known-hosts详细解释了哈希是如何完成的。
其要点是,它包含一个“盐”(随机附加数据),以避免具有相同的哈希值,并且可以轻松地预先计算大量输入文本的哈希值。盐是随机的,但显示出来,而不是散列本身。