OpenSSH 各種設定を行う。

さて、インストールからサービス化まで終わったので、各種設定を行っていきたいと思います。

OpenSSHの設定ファイルは、/etc/ssh/sshd_configです。

Unix パスワードの認証禁止

デフォルトの設定だとUnixパスワードでの認証が出来てしまいます。せっかくなので「公開鍵認証」にしたいので「パスワード認証」はできないように設定しました。

PasswordAuthentication no

rootでのログイン禁止

まあセキュリティを考えると、当然rootでのリモート接続は避けたいですね。


公開鍵認証

ユーザ認証には「公開鍵認証」をすることにしたのでその手順を整理します。

公開鍵/秘密鍵の作成

TeraTermとか使っていると、メニュー->設定->SSHキー生成とたどっていくことで作成することも可能です。
ここでは、Linux上で作成する手順です。

# /usr/local/openssh/bin/ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX hoge@localhost

5.2p1ではこれでRSA暗号方式のキーペアが作成作成されます。

公開鍵をサーバに登録する

何かしらの方法で作成した公開鍵をサーバに配置します。その後、~/.ssh/authorized_keysに公開鍵の内容を複写します。
このファイルは1行1ホストを表し、複数の公開鍵を設定することができます。さらにこのファイルは所有者以外には
権限を与えてはいけないので、権限も変更しておきます。

# cat id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys

これでサーバ側の設定は完了。

接続確認

XPから、TeraTermを使用して接続。問題なく接続できました。以下のような感じで暗号鍵を指定します。

参考サイト

いろいろ参考にさせていただきました。
http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.html