SSHクライアントにも公開鍵が必要ですか?

SSHクライアントにも公開鍵が必要ですか?

私が理解しているように、opensshクライアントは秘密鍵のみを必要とし、その公開鍵はサーバー上になければなりません。ただし、詳細レベルを3に上げると、SSHクライアントに次のように表示されます。

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/test/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp SHA256:VvQDLGFJdfO9FUOqa1ODV6iLT4Te0Nm5Bz1OUA57LjY
debug3: sign_and_send_pubkey: RSA SHA256:VvQDLGFJdfO9FUOqa1ODV6iLT4Te0Nm5Bz1OUA57Lj

「」とはNext authentication method: public keyどういう意味ですか?公開鍵を使用する理由は何ですか?

ベストアンサー1

まず、「公開鍵認証」という用語は、公開鍵/秘密鍵ペアを用いた非対称鍵暗号方式を用いた認証を総称する用語である。

第二に、公開鍵はいSSH認証プロセスの一部としてサーバーに送信されます。クライアントは公開鍵を含むパケットを送信します。このパケットは対応する秘密鍵で暗号化されます。このパケットはユーザーを識別し、サーバーが署名を確認できる場合はユーザーを認証できます。

サーバーは公開鍵がサーバーに存在することを確認します。authorized_keys名前が示すように、ファイルの機能は次のとおりです。承認する代わりにメカニズム確認する器具。つまり、鍵の存在authorized_keys 承認するユーザーは特定のキーを使用するため、サーバーは公開キーを許可しません。ユーザーはファイルに複数のキーを持つことができますauthorized_keys

おすすめ記事