首页 > 代码库 > 升级SSH

升级SSH

本例使用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/,感谢博主的分享

升级SSH