在 CentOS 上升级 SSH 到最新版

因为 CentOS 5.6 上的 SSH/SFTP 服务还是很老的版本 (OpenSSH_4.3p2),不支持 chroot。 CentOS 源上没有更新的版本,YUM 也无法获取到升级。因此只能从源代码编译安装,这里介绍详细完整的步骤。

1. 准备相关软件

yum install gcc
yum install openssl-devel
yum install pam-devel
yum install rpm-build

2. 下载 OpenSSH 当前最新版本,并解压缩

wget http://ftp.plig.net/pub/OpenBSD/OpenSSH/portable/openssh-5.8p2.tar.gz
tar -xvzf openssh-5.8p2.tar.gz

3. 编译源程序为 RPM 安装包

cp ./openssh-5.8p2/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/
cp openssh-5.8p2.tar.gz /usr/src/redhat/SOURCES/
cd /usr/src/redhat/SPECS
perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec
rpmbuild -bb openssh.spec

4. 安装编译好了的 RPM 包

cd /usr/src/redhat/RPMS/`uname -i`
rpm -Uvh openssh*rpm

5. 查看更新后的版本并测试连接

ssh -v localhost

6. 重启服务

service sshd restart
12 Comments

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注