Red Hat 6.5 OpenSSH 升级

一、适用RadHat 6.5 在离线环境下升级Openssh至7.6P1,升级过程中不影响其他业务正常使用。

1、准备

下载安装包并上传到用户目录。
具体涉及到的包有:
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/)
Red Hat 6.5 OpenSSH 升级_第1张图片

a) 查看openssh现在版本信息

#ssh –V

Red Hat 6.5 OpenSSH 升级

2、编译安装 Zlib

[root@demo ~]# tar xf zlib-1.2.11.tar.gz

进入解压后的目录

[root@demo ~]#cd zlib-1.2.11

a) 构建静态库

[root@demo zlib-1.2.11]#./configure
[root@demo zlib-1.2.11]#make test
[root@demo zlib-1.2.11]#make install

b) 构建共享库

[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编译安装完成。

3、安装pam-devel

a)查看老版本信息

[root@demo zlib-1.2.11]# rpm -qa |grep pam-devel
pam-devel-1.1.1-17.el6.x86_64

b)卸载老版本

[root@demo zlib-1.2.11]# rpm -e --nodeps pam-devel-1.1.1-17.el6.x86_64

c)rpm安装pam-devel

从当前目录切换到存放pam-devel最新版本的目录下,执行命令:

[root@demo ~]# rpm -ivh pam-devel-1.1.1-24.el6.x86_64.rpm --force --nodeps

这样就安装好最新版本了。

4、编译安装openssl-fips

[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 安装成功:
Red Hat 6.5 OpenSSH 升级

5、编译安装openssl

切换至存放 openssl-1.0.2r.tar.gz文件的目录下,执行命令:

[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

a)备份原来的openssl

[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 可以忽略

[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

b)将openssl 的lib 库添加到系统

[root@demo openssl-1.0.2r]#echo “/usr/local/ssl/lib” > /etc/ld.so.conf.d/openssl.conf

c)使新添加的lib 被系统找到

[root@demo openssl-1.0.2r]#ldconfig

d)查看openssl版本

openssl version –a

Red Hat 6.5 OpenSSH 升级_第2张图片

e)查看是否升级成功

[root@demo openssl-1.0.2r]# openssl version

Red Hat 6.5 OpenSSH 升级

6、编译安装 OpenSSH

a)备份当前openssh

[root@demo openssl-1.0.2r]# mv /etc/ssh /etc/ssh.old

b)卸载当前openssh

[root@demo openssl-1.0.2r]#rpm –qa |grep openssh

Red Hat 6.5 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

Red Hat 6.5 OpenSSH 升级

c)编译安装Openssh7.6 P1

[root@demo ~]# tar xf openssh-7.6p1.tar.gz
[root@demo ~]# cd openssh-7.6p1

** 编译(同时兼容ssh1协议)

[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

Red Hat 6.5 OpenSSH 升级_第3张图片

d)安装后环境配置

[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

Red Hat 6.5 OpenSSH 升级_第4张图片

e)启动ssh服务

[root@demo ~]#service sshd start
  • 注意:尽量不要使用service sshd restart,避免sshd服务异常,导致连接断开。