SSブログ

玄箱で 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。


nice!(0)  コメント(0)  トラックバック(2) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 2

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。