本例使用CentOS6.6
原SSH版本为5.3P1
一、准备好需要升级到的新版本的软件包
openssh下载地址:http://www.openssh.com/portable.html#http
openssl下载地址:http://www.openssl.org/source/
zlib下载地址:http://zlib.net/zlib-1.2.8.tar.gz
注意:openssl的1.1.x版本存在兼容问题,试验安装失败多次;本例使用:
openssh-7.3p1.tar.gz
openssl-1.0.1u.tar.gz
zlib-1.2.8.tar.gz
二、操作之前
做好相关备份,开启telnet有备无患,确保安全生产
三、卸载系统自带的openssh,卸载之前先停止sshd服务,再用rpm删除,同时清除系统/etc/ssh目录
/etc/init.d/sshd stop
rpm -qa openssh
rpm -e openssh-server
rpm -e openssh-clients --nodeps ##如有依赖关系问题使用nodeps
rpm -e openssh-askpass
rpm -e openssh
rm -rf /etc/ssh
四、安装zlib
tar -xvf zlib-1.2..tar.gz
cd zlib-1.2.
./configure --prefix=/usr/local/zlib
make
make install
五、安装openssl
tar -xvf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
./config --prefix=/usr/local/openssl
make
make install
六、安装openssh
gunzip openssh-.3p1.tar.gz
tar xvf openssh-.3p1.tar
cd openssh-.3p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening
make
make install
cp contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
vi /etc/init.d/sshd
七、修改配置文件
vi /etc/init.d/sshd 修改对应指令的安装目录
=============================
25行 SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd
41行 /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A
=============================
保存退出
八、加入到系统服务,更新环境变量
chkconfig --add sshd
service sshd start vim /etc/profile
export PATH="/usr/local/openssh/bin:$PATH"
source /etc/profile ssh -V #查看版本更新成功
编译中遇到的错误,参考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享