パスワードなしでsshログインする方法
リモートでコンピュータにsshで入って作業する際に、パスワードを毎回入力しないといけない。
毎回入力するのは結構面倒なので、これを省略できないか調べたところ、その方法があったので簡単にまとめておく。
ssh-keyを作る
まず、以下のコマンドを実行する。
ssh-keygen -t rsa
そうすると、
Enter file in which to save the key (/home/<user>/.ssh/id_rsa):
と表示される。
どこに鍵を保存するかを聞かれており、特に何もなければそのままでEnterを押す。
次に、
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
ここも何も入力せずにEnterを2回押す。
ls ~/.ssh
# id_rsa id_rsa.pub
ls ~/.ssh
とすると、「id_rsa」「id_rsa.pub」が表示され、鍵が~./ssh
の中に作られていることが確認できる。
sshしたいサーバー側に鍵(public key)を覚えさせる。
sshで入りたいコンピュータ(サーバー)に作成した公開鍵を覚えさせる。
そのために以下のコマンドを実行する。
ssh-copy-id -i ~/.ssh/id_rsa.pub <user name>@<ip address>
<user name>@<ip address>
のところは接続したいサーバーのユーザーネームとIPアドレスを入力。
ここで、ユーザーのパスワードを要求されるので入力すれば、サーバー側にも公開鍵(public key)が~/.ssh/authorized_keys
に保存される。
これで、sshするときにパスワードを聞かれなくなる。
かなり楽で便利。
まとめ
sshをパスワードなしでするために必要なコマンドは以下の通り。
1
ssh-keygen -t rsa
2
ssh-copy-id -i ~/.ssh/id_rsa.pub <user name>@<ip address>