玄箱Proを外向けSSHサーバにする

何度か書いている内容とかぶりますが、自分用メモということで。
自宅ルータの下にある玄箱Proに、インターネット側からSSH接続できるように設定します。
基本的には鍵認証にしてrootのログインを禁止するだけです。ポートは22番のままにして、ルータの設定で適当なポートから22番にフォワードするようにします。
玄箱Proにはdebian 6.0.7が入っている状態です。


sudo権限にユーザの追加します。

# visudo
%ユーザ名% ALL=(ALL) ALL

作ったユーザでsudoできるか確認こと。


sshでrootのログインを禁止します。

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.def
# nano -w cp /etc/ssh/sshd_config
PermitRootLogin no
# /etc/init.d/ssh restart

rootでログインできないことを確認する。
ついでにrootのパスワードをロックしてsu単体でrootになることも禁止します。

# passwd -l root

rootを復活させるときはpasswd -u rootを実行すればOK。


鍵認証にするためにクライアント側で鍵セットを作成する。
今回はML10G4上で動くdebian 6.0.7で作成しました。

# ssh-keygen

鍵セットができたらサーバに公開鍵を保存します。

# mkdir ./.ssh
# touch ./.ssh/authorized_keys
# nano -w ./.ssh/authorized_keys

ssh-keygenで作成されたid_rsa.pubファイルをメモ帳で開いて、内容を~/.ssh/authorized_keysに書き込みます。
書き込みが終わったら鍵ファイルとディレクトリのパーミッションを変更しておく。

# chmod 700 ./.ssh
# chmod 600 ./.ssh/authorized_keys

sshの設定ファイルを変更して鍵認証を試してみます。
鍵認証ログインに成功したらパスワードによるログインを禁止します。

# nano -w /etc/ssh/sshd_config
PasswordAuthentication no
# /etc/init.d/ssh restart

sshを再起動してパスワードログインができないことと鍵認証ログインができることを確認する。


ここまでできたらルータに適当なポートから玄箱Proの22番ポートへフォワードする設定を追加して終わり。