SSHサーバー構築(OpenSSH)

1.SSHサーバーアンインストール

OpenSSHを新規にインストールするため、既にインストールされて起動しているSSHサーバーをアンインストールする。

# SSHサーバー停止
/etc/rc.d/init.d/sshd stop

# openssh関連パッケージアンインストール
yum -y remove openssh


2.SSHサーバーインストール

CentOS標準のOpenSSHはバージョンが古くchroot機能が含まれていないため、本家からソースを入手してRPMパッケージを作成してインストールする。

# opensshのRPM作成に必要なパッケージをインストール
yum -y install pam-devel

# opensshダウンロード
# 最新版は、http://mirror.mcs.anl.gov/openssh/portable/で確認
wget http://mirror.mcs.anl.gov/openssh/portable/openssh-5.2p1.tar.gz

# openssh展開
tar zxvf openssh-5.2p1.tar.gz

# specファイル編集
vi openssh-5.2p1/contrib/redhat/openssh.spec
    
# Do we want to disable building of x11-askpass? (1=yes 0=no) %define no_x11_askpass 0 ↓ %define no_x11_askpass 1 ← x11_askpassの無効化 # Do we want to disable building of gnome-askpass? (1=yes 0=no) %define no_gnome_askpass 0 ↓ %define no_gnome_askpass 1 ← gnome_askpassの無効化 %configure \ configure --without-zlib-version-check \ ← 追加(zlibのバージョンチェック無効化) --sysconfdir=%{_sysconfdir}/ssh \ %doc CREDITS ChangeLog INSTALL LICENCE OVERVIEW README* RFC* TODO WARNING* ↓ %doc CREDITS ChangeLog INSTALL LICENCE OVERVIEW README* TODO WARNING* ← RFC*削除
# RedHat以外のディレクトリを削除 rm -rf openssh-5.2p1/contrib/aix/ rm -rf openssh-5.2p1/contrib/hpux/ rm -rf openssh-5.2p1/contrib/caldera/ rm -rf openssh-5.2p1/contrib/suse/ rm -rf openssh-5.2p1/contrib/cygwin/ rm -rf openssh-5.2p1/contrib/solaris/ # openssh展開先ディレクトリ再圧縮 tar czvf openssh-5.2p1.tar.gz openssh-5.2p1/ # openssh展開先ディレクトリ削除 rm -rf openssh-5.2p1 # RPMパッケージ作成 rpmbuild -tb --clean openssh-5.2p1.tar.gz # 作成したopensshのRPMパッケージをインストール rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-5.2p1-1.i386.rpm # 作成したopenssh-serverのRPMパッケージをインストール rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-server-5.2p1-1.i386.rpm # 作成したopenssh-clientsのRPMパッケージをインストール rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-clients-5.2p1-1.i386.rpm  ←  # 作成したRPMを削除 rm -f /usr/src/redhat/RPMS/i386/openssh-* # ダウンロードしたファイルを削除 rm -f openssh-5.2p1.tar.gz


3.SSHサーバー起動

# SSHサーバー起動スクリプト修正
vi /etc/rc.d/init.d/sshd
    
start() { # Create keys if necessary do_rsa1_keygen do_rsa_keygen do_dsa_keygen echo -n $"Starting $prog:" #initlog -c "$SSHD $OPTIONS" && success || failure ← 行頭に#を追加してコメントアウト $SSHD $OPTIONS && success || failure ← 追加 RETVAL=$? [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd echo }
# SSHサーバー起動 /etc/rc.d/init.d/sshd start # SSHサーバー自動起動設定 chkconfig sshd on # SSHサーバー自動起動設定確認(ランレベル2〜5のonを確認) chkconfig --list sshd