%su Password: # vi /etc/rc.conf
/etc/rc.conf の中に次の1行を加える。ファイル末尾でよい。
sshd_enable="YES"
※ここで注意したいのは、/etc/inetd.conf で sshd が無効(コメントアウト)になっているか確認をしておくこと。
# vi /etc/ssh/sshd_config
最低限、次の内容を確認しておくこと。
#Port 22 Port 穴をあけたポート番号 Protocol 2 ServerKeyBits 768 PermitRootLogin no PasswordAuthentication yes PermitEmptyPasswords no ChallengeResponseAuthentication no
# reboot
/etc/hosts.allow を利用することで、sshd 接続クライアントを制限することができる。
まずは、オリジナルファイルを別ファイル名に変更して保管しておく。
# cd /etc # ls -al | grep hosts.allow ここで存在するファイル名を確認する。 # mv hosts.allow hosts.allow.org
そして、新しいファイルとして hosts.allow に記述する。
# vi /etc/hosts.allow
以下は、LAN内(192.168.0.0/24と仮定する)に属するIPアドレスからの接続のみを許可する例である。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow sshd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny
DENY は、接続の拒否を指定するものである。従って、例えばであるが、inetd 経由で起動するproftpd をインストールした場合は、hosts.allow で proftpd の許可をしなければ接続できなくなる。
念のため、proftpd や sshd をインストールした場合に、どのように記述すればよいか参考までに書いておく。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow #telnetd : 192.168.0.0/255.255.255.0 : allow proftpd : 192.168.0.0/255.255.255.0 : allow sshd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny