玄箱で OpenSSH のアップグレード (rpm編) [Linux]
一昨日に引き続き調べてみると、OpenSSH は ソースから Redhat 用の rpm パッケージが比較的簡単に作成出来る事が分かり、早速試してみる。
1) ソースのダウンロード
# cd /usr/src/redhat/SOURCES # curl -OR http://ftp.kddilabs.jp/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz
2) spec ファイルの取り出し&編集
# tar zxfO openssh-4.6p1.tar.gz openssh-4.6p1/contrib/redhat/openssh.spec > /usr/src/redhat/SPECS/openssh.spec # vi /usr/src/redhat/SPECS/openssh.spec %define no_x11_askpass 1 (末尾の0を1に変更) %define no_gnome_askpass 1 (末尾の0を1に変更) 玄箱には X11を入れていないので関連パッケージのビルドを省略。
3) パッケージのビルド
# rpm -bb /usr/src/redhat/SPECS/openssh.spec (Ver.4 以降の rpm の場合、rpmbuild -bb /usr/src/redhat/SPECS/openssh.spec) 足りないパッケージがあるとビルドが止まるのでその都度該当パッケージを追加して やり直す。玄箱 Vine 2.6 では apt-get install pam-devel が必要だった。 問題無く完了すれば以下のファイルが作成される。 /usr/src/redhat/RPMS/ppc/openssh-4.6p1-1.ppc.rpm /usr/src/redhat/RPMS/ppc/openssh-clients-4.6p1-1.ppc.rpm /usr/src/redhat/RPMS/ppc/openssh-server-4.6p1-1.ppc.rpm 所要時間は14分弱(遅っ)
4) telnet の有効化・一時パスワード設定・telnet で再ログイン
5) インストール済 OpenSSH の停止・削除
前回内容参照
6) 新バージョンのインストール・起動
# cp -a /etc/ssh /etc/ssh.bak (configファイル・ホストキーのバックアップ)
# rpm -ivh /usr/src/redhat/RPMS/ppc/openssh-4.6p1-1.ppc.rpm
# rpm -ivh /usr/src/redhat/RPMS/ppc/openssh-clients-4.6p1-1.ppc.rpm
# rpm -ivh /usr/src/redhat/RPMS/ppc/openssh-server-4.6p1-1.ppc.rpm
# rm -rf /etc/ssh
# mv /etc/ssh.bak /etc/ssh
# service start sshd
7) 接続確認
8) telnet の無効化・一時パスワード復旧
前回内容参照
Redhat用のrpmでも Vine で特に問題無く動いている模様。
なおX11が入っている場合は spec ファイルを変更せずともビルド出来る。ただし SOURCES に http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz をダウンロードし、旧パッケージの削除時には rpm -e --nodeps を使って複雑な依存関係を無視させる必要あり。RPMS に askpass 関連2個& debug の rpm が追加で作成される。OpenSSH のソースから make install-nosysconf でインストールしてしまった物の削除はソースディレクトリから make uninstall で行い、/etc/ssh/sshd_config や /etc/rc.d/init.d/sshd 等に残った /usr/local 部分の修正を適宜行えばOK。
コメント 0