2つのホスト間でパスワードのないキーベースのログインがどのように機能するかを理解する

2つのホスト間でパスワードのないキーベースのログインがどのように機能するかを理解する

2つのホスト間でパスワードのないキーベースのログインを有効にする必要がありますが、これが実際にどのように機能するかを理解できません。だから私の概念を明確にしてくれる操舵を探しています。

host1としてログインしていますuser1。ここでリモートで実行する予定ですhost2

[user1@host1 ~]$ ssh user2@host2 pwd
The authenticity of host 'host2 (***.***.***.*)' can't be established.
ECDSA key fingerprint is SHA256:******************.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'host2,***.***.***.*' (ECDSA) to the list of known hosts.
user2@host2's password:

ここで私が混乱しているのは、パスワードのないログインを有効にすることですuser2@host2

  1. を使用して生成されたuser1公開鍵[ ~/.ssh/id_*.pub]を以下の認証鍵に追加する必要がありますか?またはhost1host2user1ssh/authorized_keyshost1user1
  2. で生成されたuser2公開鍵[]を~/.ssh/id_*.pub次のhost1認証鍵に追加する必要がありますかhost2user1ssh/authorized_keys'?または
  3. user2生成された公開鍵[ ~/.ssh/id_*.pub]を以下の認証鍵に追加する必要がありますかhost1?またはhost2user2ssh/authorized_keys'

あまりにも基本的か混乱している質問であれば申し訳ありません。私が混乱している部分を最善を尽くして説明します。ティア!

ベストアンサー1

SSH公開鍵(パスワードなし)を使用してログインすると、何が起こっているのかを理解しています。

  1. SSHに使用する秘密鍵と公開鍵のペアを生成します。たとえば、ssh-keygenコマンドユーティリティを使用します。

  2. ソースPCからSSH接続を開始するユーザーのみがアクセスできるソースPCのファイルに秘密鍵を配置します。あなたの場合は、ホスト1の~user1/.ssh/id_ecdsaのようなファイルに入れることができます。

  3. ターゲットPCにいることを望むユーザーがアクセスできるターゲットPCのファイルに公開キーを入れます。あなたの場合は、ホスト2の~user2/.ssh/authorized_keysと同じファイルに入れます。

注:キーペアとユーザー間の唯一の接続は、そのユーザーの〜/ .sshディレクトリにキーを配置することです。キー自体は特定のユーザーと機能的に関連付けられていません。ただし、多くの場合、authorized_keys/id_*.pubファイル行の末尾にあるコメントを見ると、キーが特定のユーザーにリンクされているという印象を与えることができます。

注:キーペアは、ユーティリティを使用できる任意の場所で生成できます。ペアはソースまたはターゲットホストで作成する必要はありません。

注:これは、パスワードなしの認証が有効になっている場合のデフォルト設定です。

おすすめ記事