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/)
a) 查看openssh现在版本信息
#ssh –V
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 安装成功:
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
e)查看是否升级成功
[root@demo openssl-1.0.2r]# openssl version
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
[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
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
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
e)启动ssh服务
[root@demo ~]#service sshd start
- 注意:尽量不要使用service sshd restart,避免sshd服务异常,导致连接断开。