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%