portupgrade大会の余波(2)sshでログインできない!

もう一つ続き。今度は深刻な問題です。
qpopperのインストールが終わったところで別件のため
サーバからログアウトしたところ、なんとsshでサーバに
ログインできない事態が発生しました。

手を入れていたサーバは遠隔で作業していたので、
もうこうなると現地に行くしかないのですが……
とりあえず王道のping飛ばしでサーバが生きているか確認したところ、
どうやらサーバ自体は生きている様子。

つーことはsshdが死んだか、或いはなんらかの障害が発生したか……
確かopensslをインストールする際に起こる問題だったような……
とにかくリモートで作業できる状態ではないことは事実なので、
現地に向かうことにしました。

1時間ほど掛けて現地に到着。早速作業を開始します。
まずは現地に向かう前に立てていた推論を実証するために
syslogを確認します。

# tail /var/log/messages

Aug 21 12:26:39 server postfix/smtpd[22409]: OTP unavailable because can't read/write key database /etc/opiekeys: Permission denied
Aug 21 12:26:41 server kernel: Limiting closed port RST response from 222 to 200 packets/sec
Aug 21 13:15:07 server login: ROOT LOGIN (root) ON ttyv0

……おや?
何も出てないですね……んー、とりあえずこういうときは
一旦sshdを立ち上げ直してみましょう。

# killall sshd
# /usr/local/etc/rc.d/openssh start

すると……出てきました、エラーメッセージが。
コンソール上での作業だったのでログは取れてませんが、
要約するとopensshが要求するopensslのバージョンと
実際にインストールされているopensslのバージョンが違うというメッセージが。

こいつには見覚えがあります。
日記には残していませんが、過去にopensslをインストールした際に
似たようなエラーメッセージが出てopensshが起動しなかった事がありました。
この時にも散々苦労した結果、結局opensshをインストールし直して
解決をみたのでした。

と、いうわけで今回もopensshをインストールし直す事にします。

# killall sshd
# cd /usr/ports/security/openssh-portable/
# make clean install clean && rehash
# /usr/local/etc/rc.d/openssh start
# ps awux |grep sshd

あとはインターネット上からsshでアクセス出来る事を確認して一件落着。
うーん……openssl関連の入れ直しをする際に毎回これをやるようなのかな。
何か他に手がありそうな気もするけど……