本例使用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目录
1 /etc/init.d/sshd stop 2 rpm -qa openssh 3 rpm -e openssh-server 4 rpm -e openssh-clients --nodeps ##如有依赖关系问题使用nodeps 5 rpm -e openssh-askpass 6 rpm -e openssh 7 rm -rf /etc/ssh
四、安装zlib
1 tar -xvf zlib-1.2.8.tar.gz 2 cd zlib-1.2.8 3 ./configure --prefix=/usr/local/zlib 4 make 5 make install
五、安装openssl
1 tar -xvf openssl-1.0.1u.tar.gz 2 cd openssl-1.0.1u 3 ./config --prefix=/usr/local/openssl 4 make 5 make install
六、安装openssh
1 gunzip openssh-7.3p1.tar.gz 2 tar xvf openssh-7.3p1.tar 3 cd openssh-7.3p1 4 ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening 5 make 6 make install 7 cp contrib/redhat/sshd.init /etc/init.d/sshd 8 chmod +x /etc/init.d/sshd 9 vi /etc/init.d/sshd
七、修改配置文件
1 vi /etc/init.d/sshd 2 3 修改对应指令的安装目录 4 ============================= 5 25行 SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd 6 41行 /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A 7 ============================= 8 保存退出
八、加入到系统服务,更新环境变量
1 chkconfig --add sshd 2 service sshd start 3 4 vim /etc/profile 5 export PATH="/usr/local/openssh/bin:$PATH" 6 source /etc/profile 7 8 ssh -V #查看版本更新成功
编译中遇到的错误,参考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享