ssh-keygen によって生成されるキー ペアに影響を与える要素は何ですか?

ssh-keygen によって生成されるキー ペアに影響を与える要素は何ですか?

ssh-keygen -t rsaRSA キー ペアを生成するために を使用します。id_rsa.pubファイル内にユーザー名とホスト名が表示されます。

しかし、キー ペアに影響を与える要素が何であるかを知りたいです。たとえば、ホスト IP を変更する場合、キー ペアを再生成する必要がありますか? ホスト名もですか? または、オペレーティング システムを再インストールする必要もありますか?

キーペアはいつ再生成すればよいですか?

答え1

キーはランダムに生成されます。その生成元にはそれ以上特別なものはありません。つまり、秘密キーを自分だけが保持している限り、それを置き換える必要はありません。

SSH では、ユーザー キーは通常、ユーザーと元のシステムの組み合わせを識別するために使用されます。つまり、キーは同じシステム上のユーザー間で共有されず、複数のシステム上の同じユーザー間でも共有されません。
ただし、これは技術的な制限ではなく、これらのルールのいずれかを問題なく破ることができます。これは、セキュリティ上の良い習慣です。

公開キー ( id_rsa.pub) では、最後のフィールドはコメントです。このssh-keygenコマンドは通常、ユーザー名とホスト名を最後のフィールドに配置します。これは、キーを識別するためのコメント以外の目的はありません。ユーザー名とホスト名を配置する理由については、前の段落を参照してください。

「キー ペアはいつ再生成すればよいですか?」という質問に直接答えると、
キーが侵害され、他の誰かに取得された可能性がある場合は、キーを再生成する必要があります。この時点で、以前の公開キー (ファイルauthorized_keys) を信頼しているすべてのリモート システムから、以前の公開キーを取り消す必要もあります。
文字通り、これが唯一の理由です。OS を再インストールしたり、ホスト名を変更したりする場合は、キーを再作成する必要はありません。ただし、必要に応じて再作成できます。

答え2

からRFC4716 の翻訳の user@hostname はid_rsa.pub単なるコメントであり、キーペアの内容には影響しないことがわかります。

同じホスト上で異なるキー ペアを持つために 2 つのユーザーを使用しているため、ユーザー名はコンテンツに影響を与える要素の 1 つだと思います :-)

関連情報