SSH公開鍵認証の設定

Ubuntuを使っているときは必ずといっていいほどSSHを使う。
毎回パスワードを入力するのはあまりにも面倒。
公開鍵認証の設定をすればパスワードを入力せずに、
しかも安全に接続できる。

参考:SSH で公開鍵認証を行う

クライアント側の設定

以下のように入力。

$ ssh-keygen -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xxxx/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

パスフレーズは無くてもできるけど一応入力。

Enter same passphrase again:

もう一回。

Your identification has been saved in /home/xxxx/.ssh/id_rsa.
Your public key has been saved in /home/xxxx/.ssh/id_rsa.pub.

公開鍵 (id_rsa.pub) と秘密鍵 (id_rsa) が作成される。
公開鍵(id_rsa.pub)を SFTP などでサーバーの .ssh ディレクトリに転送する。

サーバー側の設定

サーバーにログインし、 .ssh ディレクトリへ。
公開鍵を authorized_keys の最後に追加します。

$ cat id_rsa.pub >> authorized_keys

id_rsa.pub は不要なので削除しておく。

sshでパスワード要らずってのもいいけど、
scpなどで補完が使えるようになるのが大きいと思う。
通常scpでリモートにあるファイル名を補完しようとすると
その度にパスワードが必要になって超面倒。
公開鍵認証だと普通に補完できて便利。