パスワードありの SSH 接続ができることが前提。
クライアントマシンで秘密鍵と公開鍵を作成
秘密鍵と公開鍵をまだ作成していない場合、ターミナルで以下のコマンドを入力する。
$ ssh-keygen
デフォルトでは鍵タイプが RSA、鍵長が 2048 ビットになる。通常はこれで十分。
鍵の保存場所を聞かれるので、そのまま Enter
を押す。
パスフレーズを聞かれるので、そのまま Enter
を押す。
パスフレーズの確認を求められるので、そのまま Enter
を押す。
鍵が作成されたことを確認する。
$ ls -1 ~/.ssh | grep "id_rsa"
id_rsa
が秘密鍵、id_rsa.pub
が公開鍵。秘密鍵は絶対にインターネットに流さないこと。
クライアントマシンからサーバーマシンへ公開鍵を転送
以下のコマンドで、公開鍵をサーバーに転送する。
$ ssh-copy-id <ユーザー名>@<サーバー名>
SSH で使用するポートを変更している場合 -p <ポート番号>
をつける。
公開鍵の名前や場所を変更している場合 -i <公開鍵のパス>
をつける。
SSH 接続するためのパスワードを聞かれるので、入力する。自動的にサーバーマシンで公開鍵が登録される。
接続の確認
ssh <ユーザー名>@<サーバー名>
で接続する。パスワードを入力しなくても接続できるはず。