私の質問は次のシナリオに基づいています:serverA
、、および。両方のユーザーが両方のサーバーに存在します。serverB
user1
user2
user1
でserverA
SSHキーペアを生成し、公開キーをauthorized_keys
ファイルにコピーしましたserverB
。
user2
onはserverA
SSHキーペアを生成せず、onはSSHキーペアを生成しませんでしたserverB
。
user1
にログインしますserverA
。user1
SSHを介して()serverB
に接続しようとしましたが、正常に動作し、パスワードは必要ありません。user2
ssh user2@serverb
私の問題はこれです。どのように動作しますか?user2
そこに公開鍵はありませんserverB
。私はいつもSSHがログインしようとしているユーザーを認証していると思いました。これは、SSHがserverB
現在ログインを認証することを意味しますか?user1
serverA
ベストアンサー1
まったく正しくないようです。 OpenSSHを使用していますか?それとも別のSSH実装がありますか?
どのように動作するかについて質問に戻ると、期待どおりです(単純化)。
- リモートシステムに接続します。
- ユーザー名で。
- リモートシステムはユーザーの存在を確認し、鍵を要求します(鍵認証が構成されている場合)。
- ユーザーHOME / .ssh / authorized_keysが存在することを確認してください。
- Authorized_keysのエントリが有効か、何も見つからないまで1つずつ確認してください。
- 一致するキーが見つかった場合、認証は成功しました。
これは完全にターゲットユーザーの〜.ssh / authorized_keysファイル内のキーに基づいています。これらのファイル/キーがないと、何かが深刻に破損します。