新年初焦りでした。

先日借りたレンタルサーバーにGITを入れてみようと、
OpenSSLを入れたら、SSHでログインできなくなってしまいました。

SSHが使えないので、レンタルサーバーに付属しているコンソールから作業を行います。

SSHが起動できない!


SSHを起動すると以下のエラーが出ます。

# /etc/rc.d/init.d/sshd start
OpenSSL version mismatch. Built ageinst 10000003, you have 1000103f


どうやらコンパイル時にバージョン番号が埋め込まれているらしく、
バージョンが変わるとOpenSSHの再コンパイルが必要とのこと。

http://jfut.integ.jp/2007/10/21/

とりあえずyumで再コンパイル(失敗)


yumには再インストールのコマンドがないんですね。
一度アンインストールしてから、もう一度インストールします。

# yum remove openssl-server
# yum install openssl-server

# /etc/rc.d/init.d/sshd start
OpenSSL version mismatch. Built ageinst 10000003, you have 1000103f


変わらず。
OpenSSLをソースコードからインストールしたので、
OpenSSHもソースコードからインストールしないといけないようです。

OpenSSH 6.1のインストール


# yum remove openssl-server

# wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
# tar xvzf openssh-6.1p1.tar.gz
# ./configure --with-pam --with-md5-passwords --with-tcp-wrappers
# make
# make test
# make install


起動スクリプトのコピー


# cp contrib/redhat/sshd.init /etc/rc.d/init.d/sshd

# vi /etc/rc.d/init.d/sshd


41 SSHD=/usr/sbin/sshd


41 SSHD=/usr/local/sbin/sshd

に変更


終わったらsshdを起動します。

# /etc/rc.d/init.d/sshd start



設定ファイルが初期状態に戻っているので、
先日やったRootでのログインを禁止する処理を書き換えてもう一回再起動します。

久しぶりのレンタルサーバーの設定。最初にやることのまとめ。

SSHでアクセスしている状態で再起動すると、SSHが落ちるので一瞬焦ります。
レンタルサーバーで管理ツールからコンソールが使えるのは重要ですね。