公開鍵認証によるSSH接続

動作確認済みシステム Debian 11

公開鍵認証でSSH接続できるようにします。
大まかな流れとしては、秘密鍵と公開鍵を作成し、公開鍵をリモートサーバに登録するという流れです。

クライアントPCでキーペアを作成します。

ssh-keygen -t rsa -b 4096

鍵の名前は、デフォルトではid_rsaになります。鍵の名前を指定したい場合は、以下のように-fオプションをつけます。

ssh-keygen -t rsa -b 4096 -f [鍵の名前]

鍵の名前をid_rsaとしてコマンドを実行すると、以下のパスで秘密鍵ファイルと公開鍵ファイルが作成されます。

秘密鍵ファイル:~/.ssh/id_rsa
公開鍵ファイル:~/.ssh/id_rsa.pub

クライアントPCからリモートサーバへ公開鍵を転送して登録します。

ssh-copy-id -i ~/.ssh/id_rsa.pub [リモートユーザー]@[リモートサーバーのホスト名]

SSHのポートを変更している場合は、-pオプションでポート番号を指定します。

ssh-copy-id -i ~/.ssh/id_rsa.pub -p 50022 [リモートユーザー]@[リモートサーバーのホスト名]

クライアントPCから公開鍵認証でSSH接続できることを確認します。

ssh -i ~/.ssh/id_rsa hogehoge@example.com

SSHのポートを変更している場合は、-pオプションでポート番号を指定します。

ssh -i ~/.ssh/id_rsa hogehoge@example.com -p 50022