SSHのノンパス設定
セキュリティー上、問題があるという話しもちらほら。しかし、多くのサーバを管理する場合はできないと話しにならないノンパス設定。
何度やっても覚えないので、ちょっと覚書。
Server1からServer2に接続する場合。
oresamaというユーザーがServer1とServer2にいることにします。
Server1に鍵を作る
まずは鍵を発行するコマンド$ ssh-keygen
すると以下のようになる。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oresama/.ssh/id_rsa):(鍵の保存場所)
Enter passphrase (empty for no passphrase):(パスフレーズ)
Enter same passphrase again:
Your identification has been saved in /home/oresama/.ssh/id_rsa.
Your public key has been saved in /home/oresama/.ssh/id_rsa.pub.
The key fingerprint is:
cf:4b:f5:c6:ac:f7:93:d4:70:80:96:6b:2a:40:96:7e oresama@server1
鍵の保存場所とパスフレーズは空のままエンターします。
パスフレーズを設定する方法もありますが、今回は無しでいきます。
するとid_rsaという秘密鍵とid_rsa.pubという公開鍵が$HOMEに生成されます。
この公開鍵が、アクセスしてくるサーバが利用する鍵になります。
Server2に公開鍵をコピー
さきほど生成した公開鍵id_rsa.pubの内容をServer2のファイルにコピーします。コピーするファイルは$HOME/.ssh/authorized_keysです。
ファイルがない場合は生成して、id_rsa.pubの内容を記述しましょう。
このファイルはいくつもの公開鍵を追加できるので、既に記述されている場合は、下に追記していきましょう。
注意すべき点はauthorized_keysのパーミッションが600(700でもいいのかな?)と.sshのパーミッションが700でなければいけないこと。
あとOpenSSHのバージョンがOpenSSH-2.9.8以前でかつバージョンが2の場合はファイル名がauthorized_keys2になるようです。
さーつないでみよう!
これで設定は完了です。Server1からServer2にSSHでつないでみましょう。
ノンパスでログインできたら成功です。
うまくいかない時は/var/log/secureを見るといいかも。