sshdで2つのポートを使い分ける
sshdで2つのポートを使い分けたい場合があるかもしれません.例えば,ポート22では鍵を使わないとloginできないようにして他のポートでは鍵が無くてもパスワードだけでloginできるようにしたい時など.
参考URL(というかほぼそのまま)
http://www.freebsddiary.org/ssh-higher-port.php
今回はポート22番では鍵が無いと入れないようにして,ポート57431番では鍵が無くてもパスワードのみで入れないように設定して見ました.
まず,openssh-portableのインストール
cd /usr/ports/security/openssh-portable/
make install clean
次に22番のための鍵作成
ssh-keygen cd ~/.ssh cat id_rsa.pub >authorized_keys id_rsaをscp rm id_rsa id_ras.pub
ポート57431番の設定ファイルの作成
cd /usr/local/etc/ssh/ cp sshd_config sshd_config_higher_port
22番でパスワード認証を無くす
vi sshd_config
ListenAddress ***.***.** #ここでIPを指定しないと動かなかったので指定
PasswordAuthentication no
ChallengeResponseAuthentication no
ポート57431番の設定ファイルの作成
Port 57431 ListenAddress ***.***.** #ここでIPを指定しないと動かなかったので指定
ポート57431番の起動スクリプトの作成,↓は以下の物に書き換えを示す.
cp openssh openssh_higher_port vi openssh_higher_port name="sshd" ↓ name="sshd_higher_port" command="/usr/sbin/${name}" ↓ command="/usr/sbin/sshd" PidFile /var/run/sshd.pid ↓ PidFile /var/run/sshd_higher_port.pid
OS起動時にデーモンが立ち上がるようにする
openssh_enable="YES" #openssh port 57431 sshd_higher_port_enable="YES" sshd_higher_port_flags="-p 57431 -f /usr/local/etc/ssh/sshd_config_higher_port" sshd_higher_port_program="/usr/sbin/sshd"
んで,再起動するのがメンドイので起動スクリプトを実行する
/usr/local/etc/rc.d/opensshd start /usr/local/etc/rc.d/openssh_higher_port start