SSHキーを生成するときにファイルのcat
コマンドを使用し、自分id_rsa.pub
のアカウントのホスト名/ユーザー名がファイルにあることを確認しました。なぜこれが起こるのですか?これをサーバーにコピーするとここにいませんか、それともサーバーのホスト名/ユーザー名になるのが合理的ですか?そしてSSHのユーザー名は何ですか?これらすべてについて私は間違っていますか?私のプロセスは次のとおりです。
mkdir ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-keygen
次に、生成されたコンテンツを作成します。キーをサーバーにコピーするだけですid_rsa.pub
。authorized_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
ファイルにキーが追加されます(キーがない場合は、正しいアクセス権でキーを生成します)。