1、适用RadHat 6.5 在离线环境下升级Openssh至7.6P1,升级过程当中不影响其余业务正常使用。node
下载安装包并上传到用户目录。
具体涉及到的包有:
openssh-7.6p1.tar.gz
openssl-1.0.2r.tar.gz
(OpenSSL 的官方网站:http://www.openssl.org)
openssl-fips-2.0.16.tar.gz
(OpenSSL 的官方网站:http://www.openssl.org)
pam-devel-1.1.1-24.el6.x86_64.rpm
(pam-devel官方下载网站: https://pkgs.org/download/pam-devel)
zlib-1.2.11.tar.gz
(Zlib 官方网站:http://www.zlib.net/)ssh
#ssh –V
[root@demo ~]# tar xf zlib-1.2.11.tar.gz
进入解压后的目录ide
[root@demo ~]#cd zlib-1.2.11
[root@demo zlib-1.2.11]#./configure [root@demo zlib-1.2.11]#make test [root@demo zlib-1.2.11]#make install
[root@demo zlib-1.2.11]#make clean [root@demo zlib-1.2.11]#./configure --shared [root@demo zlib-1.2.11]#make test [root@demo zlib-1.2.11]#make install [root@demo zlib-1.2.11]#cp zutil.h /usr/local/include [root@demo zlib-1.2.11]#cp zutil.c /usr/local/include
至此,Zlib编译安装完成。网站
[root@demo zlib-1.2.11]# rpm -qa |grep pam-devel pam-devel-1.1.1-17.el6.x86_64
[root@demo zlib-1.2.11]# rpm -e --nodeps pam-devel-1.1.1-17.el6.x86_64
从当前目录切换到存放pam-devel最新版本的目录下,执行命令:.net
[root@demo ~]# rpm -ivh pam-devel-1.1.1-24.el6.x86_64.rpm --force --nodeps
这样就安装好最新版本了。rest
[root@demo ~]# tar xf openssl-fips-2.0.16.tar.gz [root@demo ~]# cd openssl-fips-2.0.16 [root@demo openssl-fips-2.0.16]# ./config [root@demo openssl-fips-2.0.16]# make [root@demo openssl-fips-2.0.16]# make install
默认安装到/usr/local/ssl/fips-2.0 安装成功:code
切换至存放 openssl-1.0.2r.tar.gz文件的目录下,执行命令:server
[root@demo ~]#tar xf openssl-1.0.2r.tar.gz [root@demo ~]#cd openssl-1.0.2r [root@demo openssl-1.0.2r]#./config --shared zlib #必定要加上shared 参数,要不在安装openssh的时候就没法找到 [root@demo openssl-1.0.2r]#make [root@demo openssl-1.0.2r]#make install
[root@demo openssl-1.0.2r]#mv /usr/bin/openssl /usr/bin/openssl.bak [root@demo openssl-1.0.2r]#mv /usr/include/openssl /usr/include/openssl.bak
注意,由于源码安装默认安装的位置是 /usr/local/ssl 须要将建立软连接到系统位置,
若/usr/include 下没有相关的openssl 能够忽略blog
[root@demo openssl-1.0.2r]#ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl [root@demo openssl-1.0.2r]#ln -s /usr/local/ssl/include/openssl /usr/include/openssl
[root@demo openssl-1.0.2r]#echo “/usr/local/ssl/lib” > /etc/ld.so.conf.d/openssl.conf
[root@demo openssl-1.0.2r]#ldconfig
openssl version –a
[root@demo openssl-1.0.2r]# openssl version
[root@demo openssl-1.0.2r]# mv /etc/ssh /etc/ssh.old
[root@demo openssl-1.0.2r]#rpm –qa |grep openssh
[root@demo openssl-1.0.2r]# rpm -e --nodeps openssh-5.3p1-94.el6.x86_64 [root@demo openssl-1.0.2r]#rpm -e --nodeps openssh-askpass-5.3p1-94.el6.x86_64 [root@demo openssl-1.0.2r]#rpm -e --nodeps openssh-server-5.3p1-94.el6.x86_64 [root@demo openssl-1.0.2r]#rpm -e --nodeps openssh-clients-5.3p1-94.el6.x86_64 [root@demo openssl-1.0.2r]# rpm -qa | grep openssh
[root@demo ~]# tar xf openssh-7.6p1.tar.gz [root@demo ~]# cd openssh-7.6p1
** 编译(同时兼容ssh1协议)ip
[root@demo openssh-7.6p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl/lib --with-md5-passwords --with-pam --with-zlib --with-ssh1 [root@demo openssh-7.6p1]#make [root@demo openssh-7.6p1]#make install
[root@demo redhat]# cp contrib/redhat/sshd.init /etc/init.d/sshd [root@demo redhat]# chmod +x /etc/init.d/sshd [root@demo redhat]# chkconfig --add sshd
[root@demo ~]#service sshd start