【OpenSSH】CentOS7.x 上升级OpenSSH到最新7.9p1版本

本文详细介绍如何在CentOS7.2环境下,从官网下载OpenSSH源码包,通过编译制作rpm安装包,实现离线升级OpenSSH至最新版本的过程。包括依赖安装、源码编译、rpm包制作、配置修改、服务重启等关键步骤。

一、实验背景

 

客户请第三方安全公司扫描了下他们的服务器,发现 SSH 存在许多安全漏洞,原因是 CentOS 7.2 使用了一个比较旧的 OpenSSH 版本 v6.6.1,而这些漏洞在新版的 OpenSSH 中均已被修复,所以出于安全考虑,需要升级。

 

 

yum 仓库中并没有最新版的 OpenSSH,我们需要自己从官方下载最新的opeenSSh源码包编译制作 rpm 安装包。

因为客户服务器不能连外网,所以还需要将其做成离线升级包。

 

 

二、实验环境

 

操作系统: CentOS7.2 Mininal

serverA  192.168.1.104  模拟开发机,能联网,用于制作离线升级包

serverB  192.168.1.106  模拟客户服务器,不能联网,openSSH相关包及其依赖版本较低

 

 

三、实验预期

在severA上完成openSSH相关编译及依赖下载,写成一键升级脚本,拖到serverB上完成openSSH的升级。

当前最新openSSh源码包版本为 openssh-7.9p1.tar.gz

 

 

四、实验操作

 

在serverA

 

# yum -y install  vim  wget epel-release

# yum  -y  install  rpm-build  gcc make

# yum -y install  openssl  openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel

# wget  http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz

# tar -zxf openssh-7.9p1.tar.gz

# mkdir -p  /root/rpmbuild/{SOURCES,SPECS}

# cp ./openssh-7.9p1/contrib/redhat/openssh.spec    /root/rpmbuild/SPECS/

# cp openssh-7.9p1.tar.gz    /root/rpmbuild/SOURCES/

# cd  /root/rpmbuild/SPECS/

# sed  -i  -e  "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g"    openssh.spec

# sed  -i  -e  "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g"    openssh.spec

# sed  -i  -e  "s/BuildPreReq/BuildRequires/g"    openssh.spec

# sed -i  -e  "s/BuildRequires: openssl-devel < 1.1/#BuildRequires: openssl-devel < 1.1/g" openssh.spec

# rpmbuild  -bb  openssh.spec

 

编译好后的文件被放在 /root/rpmbuild/RPMS/x86_64/ 目录下:

# ll  /root/rpmbuild/RPMS/x86_64

 

将上述操作脚本化:

# cat build.sh

#####################################################

#!/bin/bash

OPENSSH_VERSION=7.9p1

yum -y install  vim  wget epel-release

yum -y install  rpm-build  gcc make

yum -y install  openssl  openssl-devel krb5

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值