2012年5月1日 | | 标签: ,

参考教程出处:

因为 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 
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 -p 12345 localhost

注意-p 后边的12345为端口号,如果SSH默认端口号没有修改过,这个参数可以省略

6. 重启服务

service sshd restart

7. 重新SSH登陆进去

ssh -p 12345 user@ip
ssh -V

显示为 OpenSSH_5.8p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008,说明成功的升级到了最新版本,搞定收工!