ssh-keyscan -H は毎回異なるキーを返します

ssh-keyscan -H は毎回異なるキーを返します

を実行するたびに異なるキーが取得されますssh-keyscan -H some.hostname.example。なぜでしょうか? サーバーは継続的にキーを変更しているのでしょうか?

ssh1 回の実行で取得したキーは、その後の実行後も機能するようです。これは、 に 1 セットのキーを保存したにもかかわらず、サーバーにログインするときに警告が表示されなかったためです~/.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ハッシュ化がどのように行われるかを詳しく説明します。

要点は、同じハッシュを持たないようにし、多数の入力テキストのハッシュを事前に計算しやすくするために、「ソルト」(ランダムな追加データ) が含まれていることです。ソルトはランダムですが、表示されるだけで、ハッシュ化されることはありません。

関連情報