SSH認証はどのように機能しますか?

SSH認証はどのように機能しますか?

私の質問は次のシナリオに基づいています:serverA、、および。両方のユーザーが両方のサーバーに存在します。serverBuser1user2

user1serverASSHキーペアを生成し、公開キーをauthorized_keysファイルにコピーしましたserverB

user2onはserverASSHキーペアを生成せず、onはSSHキーペアを生成しませんでしたserverB

user1にログインしますserverAuser1SSHを介して()serverBに接続しようとしましたが、正常に動作し、パスワードは必要ありません。user2ssh user2@serverb

私の問題はこれです。どのように動作しますか?user2そこに公開鍵はありませんserverB。私はいつもSSHがログインしようとしているユーザーを認証していると思いました。これは、SSHがserverB現在ログインを認証することを意味しますか?user1serverA

ベストアンサー1

まったく正しくないようです。 OpenSSHを使用していますか?それとも別のSSH実装がありますか?

どのように動作するかについて質問に戻ると、期待どおりです(単純化)。

  • リモートシステムに接続します。
  • ユーザー名で。
  • リモートシステムはユーザーの存在を確認し、鍵を要求します(鍵認証が構成されている場合)。
  • ユーザーHOME / .ssh / authorized_keysが存在することを確認してください。
  • Authorized_keysのエントリが有効か、何も見つからないまで1つずつ確認してください。
  • 一致するキーが見つかった場合、認証は成功しました。

これは完全にターゲットユーザーの〜.ssh / authorized_keysファイル内のキーに基づいています。これらのファイル/キーがないと、何かが深刻に破損します。

おすすめ記事