[ Top > FreeBSD > ssh/tcp: bind: Address already in use ]
FreeBSD 5.4 をインストールしたマシンについて,ssh/tcp: bind: Address already in use というエラーが頻繁に出ることに気づいた.これを解決した.
sshが重複して起動していたためであった.つまり,FreeBSDのインストール時に,sshdのログインを許すか,という問いにyesと答えた上に,inetdからもsshdが起動されるように設定していたことが原因であった.
上記の状態では,設定ファイル /etc/rc.conf において,
sshd_enable="YES" inetd_enable="YES"
の両方が存在し,さらに /etc/inetd.conf において,
ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4
となっている.
sshdはinetdから起動すればふつうは十分であるから,/etc/rc.conf において
sshd_enable="YES"
を削除し,マシンを再起動した.
FreeBSDをインストールした直後の初回起動においては,/etc/rc.conf の中で,
sshd_enable="YES"
となっている必要がある.そうでなければ,キーが自動で生成されないからである.