SSHで接続するための公開鍵を作成してサーバへ接続する
SSH 接続のための公開鍵を作成して、サーバーアクセスできる方法です。
どんなサーバ向け?
AWS、GCP、Azure などでは、代替となる接続方法がありますので、そちらを利用します。主に、SSH で接続する必要のある、各社レンタルサーバやオンプレミスのサーバへ接続で使います。レンタルサーバによっては、ID/Passwordの接続しか提示されていないことも多いですが、公開鍵を利用して利用することができるサービスも多くあります。
SSH キーペアを作成する
以下のコマンドを実行して SSH キーペアを作成します。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_ssh_key
オプションについては、下記のとおりです。
-t rsa : RSA アルゴリズムを使用。
-b 4096 : 4096 ビットの鍵長を指定。鍵長が長いほど暗号強度が向上し、通常は 2048 ビットまたは 4096 ビットが推奨されます。
-C “your_email@example.com" : キーにコメントを付与(任意)。識別のためにメールアドレスを指定するのが一般的です。
-f ~/.ssh/my_ssh_key : 出力するファイル名を指定。
コマンドを実行すると、パスフレーズを聞かれます。設定する場合は入力、しない場合は Enter で進めます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
my_ssh_key と my_ssh_key.pub の2ファイルが作成されます。
公開鍵をサーバにコピーする
SSH キーペアが作成されたら、公開鍵 (my_ssh_key.pub) をサーバにコピーします。
USER はサーバへログインするユーザ名、SERVER_IP はサーバのIPアドレスに置き換えてください。
ssh-copy-id -i ~/.ssh/my_ssh_key.pub USER@SERVER_IP
サーバの .ssh/authorized_keys に追加されます。
直接 authorized_keys に my_ssh_key.pub の内容を追記する方法もあります。
SSH 接続をテストする
公開鍵を設定したら、SSH 接続をテストします。
ssh -i ~/.ssh/my_ssh_key USER@SERVER_IP
SSH 設定を簡単にする(~/.ssh/config)
接続情報を設定しておくことにより、簡単に接続できるようになります。
echo "
Host myserver
HostName SERVER_IP
User USER
IdentityFile ~/.ssh/my_ssh_key
" >> ~/.ssh/config
この設定を追加すると、次回以降は以下のように簡単に接続できます。
ssh myserver