OpenSSH 資料一覧

SSHサーバにパスワードなしでログインする方法

2014/11/26更新

対応バージョン: 6.4p1

SSHには1と2のバージョンがありそれぞれ手順が異なるが基本的な流れは同じで、クライアント側で認証鍵を生成して公開鍵をサーバ側に登録しておくことによってパスワードなしでのログインが可能となる。

以下、それぞれのバージョンにおける設定手順を示す。

SSHバージョン2

作業は全てSSHクライアント側で作業する。

まずパスフレーズなし(-N '')のDSA鍵を生成する。

client% ssh-keygen -t dsa -N ''
Generating public/private dsa key pair.
Enter file in which to save the key (/home/foo/.ssh/id_dsa): <- Enter
Created directory '/home/foo/.ssh'.
Your identification has been saved in /home/foo/.ssh/id_dsa.
Your public key has been saved in /home/foo/.ssh/id_dsa.pub.
The key fingerprint is:
SHA256:F6mLrskhIaxfh2+rbmwK8kRRtF8EiashbipUhHN8ce0 foo@client
The key's randomart image is:
+---[DSA 1024]----+
|   .o.=O*o.oE    |
|   . =o++....    |
|  . . *oo.o      |
|   ..o.+ . .     |
|  .. o..S .      |
| .  o.o. o       |
|o..  *o .        |
|oo* *.           |
|.=+B+.           |
+----[SHA256]-----+

これで~/.ssh配下に秘密鍵(id_dsa)と公開鍵(id_dsa.pub)が作成される。

公開鍵はSSHサーバ側にコピーして~bar/.ssh/authorized_keysに追記する必要があるが、ssh-copy-idコマンドを使用すればこれらの作業を代行してくれる。

client% ssh-copy-id -i ~/.ssh/id_dsa.pub bar@server

以上の作業によりクライアントからパスワードなしでサーバにログインできるようになる。

client% ssh bar@server
server%

SSHバージョン1

作業は全てSSHクライアント側で作業する。

まずパスフレーズなし(-N '')のRSA鍵を生成する。

client% ssh-keygen -N ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/foo/.ssh/id_rsa):  <- Enter
Your identification has been saved in /home/foo/.ssh/id_rsa.
Your public key has been saved in /home/foo/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Yt4zXxGFoDS6IBR34ROFKR7fZPOrV3e2VRZiruNxShg foo@client
The key's randomart image is:
+---[RSA 2048]----+
|  o.. +=+ .. ..  |
| . .ooo++o  .+ . |
|  ...+++.o  + . .|
|   ..o.o.E.  o  o|
|      + S o.o  ..|
|     o o ..=.o. +|
|      . +.o.*. oo|
|        .+.+   . |
|         ..      |
+----[SHA256]-----+

これで~/.ssh配下に秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作成される。

公開鍵はSSHサーバ側にコピーして~bar/.ssh/authorized_keysに追記する必要があるが、ssh-copy-idコマンドを使用すればこれらの作業を代行してくれる。

client% ssh-copy-id -i ~/.ssh/id_rsa.pub bar@server

以上の作業によりクライアントからパスワードなしでサーバにログインできるようになる。

client% ssh bar@server
server%