私のユーザー名/ホスト名が私のSSH公開鍵に表示されるのはなぜですか?

私のユーザー名/ホスト名が私のSSH公開鍵に表示されるのはなぜですか?

SSHキーを生成するときにファイルのcatコマンドを使用し、自分id_rsa.pubのアカウントのホスト名/ユーザー名がファイルにあることを確認しました。なぜこれが起こるのですか?これをサーバーにコピーするとここにいませんか、それともサーバーのホスト名/ユーザー名になるのが合理的ですか?そしてSSHのユーザー名は何ですか?これらすべてについて私は間違っていますか?私のプロセスは次のとおりです。

mkdir ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-keygen

次に、生成されたコンテンツを作成します。キーをサーバーにコピーするだけですid_rsa.pubauthorized_keys

答え1

SSH公開鍵の最後のフィールドはコメントです。デフォルトでは、キーがリマインダーとして生成されると、user@host 値で初期化されます。編集を選択できますが、キーは変更されません。このコメントは認証に影響を与えず、複数の項目を管理するのに役立ちます。

~/.ssh/authorized_keysリモートサーバーの公開鍵の場所がここに影響します。つまり、そのファイル内のアカウントへのアクセスを許可します。秘密鍵を持っている場合のみ、リモートアカウントにアクセスできます。サーバーの観点からは、どのユーザーがアカウントにアクセスできるかという概念はありません。関連する唯一のことは、秘密鍵を所有するエンティティでのみSSH接続(sshキーを使用)が正常に確立できることです。秘密鍵が他の場所にコピーされたり盗まれたりしても、影響はありません。他のユーザーやシステムがSSHキーを介してこのアカウントにアクセスする必要がある場合は、秘密鍵をコピーせずに各場所の秘密鍵を生成してファイルに追加すると、authorized_keys健康と安全性が向上します。

あなたの方法はよく見えますが(これも行う必要があるかもしれませんchmod 700 ~/.ssh)、リモートアカウントへの共通パスワードアクセス権がある場合は、SSHキーをコピーする最も簡単な方法は次のようにすることです。ssh-copy-id注文する。たとえば、主キーを次の場所にコピーします。リモートユーザーアカウントリモートサーバー:

ssh-copy-id remoteuser@remoteserver

これにより、自動的にリモートアカウントのauthorized_keysファイルにキーが追加されます(キーがない場合は、正しいアクセス権でキーを生成します)。

関連情報