SSHのノンパス設定覚書 | Pimp my Code. @wataru420

Pimp my Code. @wataru420

My name is Wataru Fukunaga.

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を見るといいかも。