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


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

下载 OpenSSH 当前最新版本,并解压缩
http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
tar zxvf openssh-6.1p1.tar.gz

3. 编译源程序为 RPM 安装包
cp openssh-6.1p1/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/
cp openssh-6.1p1.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
rpm -q openssh
ssh -v localhost

service sshd restart

重新ssh登陆看一下是否正常