OpenSSHサーバの設定

sshdサービスは、sshによるリモートログインの他、scpやsftpなどでのアクセスを提供します。

 

標準設定の確認

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

デフォルトの設定で通常必要と思われる、sshログインやsftpの設定がされておりそのまま利用する事が可能です。

以降では、この設定を変更するなどして、セキュリティーの向上などを行って行きます。

 

 

OpenSSH設定のカスタマイズ

セキュリティーに関するカスタマイズをいくつか上げたいと思います。

 

rootログインの不許可

デフォルトでは、rootユーザでのsshログインやsftpの利用が可能になっていますので、これを無効にします。

/etc/ssh/sshd_config

#PermitRootLogin yes <---変更前 PermitRootLogin no <---変更後

 

 

公開鍵による認証

公開鍵と秘密鍵を利用して認証する方式です。

これは、ログイン先のサーバには公開鍵を保存し、ログインするクライアントは公開鍵と秘密鍵を保持します。

この場合、パスワード認証は停止し、公開鍵認証でのみログイン可能となります。

 

公開鍵と秘密鍵の作成

まずは、公開鍵と秘密鍵を作成します。

LinuxやMacOSXの場合

LinuxやMacOSXの場合、以下のコマンドで作成出来ます。

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/sakurai/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <---パスフレーズを入力
Enter same passphrase again: <---パスフレーズを再度入力
Your identification has been saved in /Users/sakurai/.ssh/id_rsa.
Your public key has been saved in /Users/sakurai/.ssh/id_rsa.pub.
The key fingerprint is:
09:19:cc:02:fe:0c:e2:cd:cd:2f:ee:e5:ad:1d:97:0c sakurai@ulmb.local

ここで作成されたのは、以下の2つのファイルです。

id_rsa <—秘密鍵

id_rsa.pub <—公開鍵

このうち、公開鍵はログインするサーバにも転送して利用します。

秘密鍵は、$HOME/.ssh/id_rsaとして保存してください。

これは、接続時に$HOME/.ssh/以下に、SSHバージョン1の場合はidentityを、SSHバージョン2の場合はid_rsaを、DSAの場合はid_dsaを探して利用する為です。

なお、秘密鍵、公開鍵とも、ファイルのパーミッションは600にしてください。

ここで作成した暗号化方式は、SSHバージョン2用のRSA鍵です。

SSHバージョン1用のRSA鍵の場合は、-t rsa1 を指定します。

DSA鍵を作成するなら、-t dsa を指定します。

 

Windowsの場合

Windowsでは、鍵を作成する為に別途アプリケーションが必要です。

私は、PuTTYgenか、Teratermを主に利用しています。

PuTTYgenは、PuTTYのホームページから入手出来ます。

PuTTYgenをインストール後に、公開鍵と秘密鍵を作成してください。

 

公開鍵をサーバへ配置

作成した公開鍵を、ログイン先のサーバへ保存します。

保存する場所は、$HOME/.ssh/authorized_keysです。

公開鍵のid_rsa.pubをサーバのホームディレクトリに保存したら、以下のコマンドで保存すると良いでしょう。

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

また、公開鍵のパーミッションは600にする必要があります。

chmod 600 ~/.ssh/authorized_keys

これで、公開鍵の配置は終了です。

 

sshdサーバの設定変更

作業は、sshd_configのほぼデフォルト設定ですが、1カ所だけ変更します。

#RSAAuthentication yes <---確認
#PubkeyAuthentication yes <---確認
#AuthorizedKeysFile	.ssh/authorized_keys <---確認
PasswordAuthentication no <---変更

以上で、公開鍵認証の設定は終了です。

 

 

sshdへの接続制限

sshdへの接続制限を行う場合には、TCP_Wrapperへ設定します。

ここでは、172.16.0.1と192.168.1.0/24から接続可能とし、その他は全て接続不可とします。

接続不可の設定

/etc/hosts.denyに以下を追加します。

sshd:ALL

 

接続許可の設定

/etc/hosts.allowに以下を追加します。

sshd:172.16.0.1 192.168.1.

 

なお、接続時に接続情報をメールで通知する場合は以下のようにします。

sshd:172.16.0.1 : spawn ( /bin/mail -s "sshd from %h" メールアドレス) &

sshd from %hのhは接続して来たIPアドレスになります。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">