CentOS7.9下openssh升级9.6实践

在运维实践过程中,经常遇到扫描出openssh漏洞问题,需要将openssh升级最新版本,当前openssh最新版本已经升级到9.6。在新版本的openssh升级过程中与旧版本的升级存在一些差异,写下文章进行记录。

注:以下操作在CentOS7.9中验证,在其他操作系统中,需要进行验证后,再到生产环境进行。

由于openssh9.6需要openssl1.1.1版本支持,需要先对openssl进行升级后,才能继续进行openssh升级。

源码下载

在官方网站www.openssh.org进行源码下载。

cd /root
wget --no-check-certificate  https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz

Openssl升级

由于CentOS7.9自带openssl版本为1.0.1,需要将系统自带的openssl升级为1.1.1版本后,才可升级至openssh9.6,按以下步骤对openssl进行升级。

升级前版本检查

openssl version

备份openssl

备份系统自带的openssl程序,避免升级失败导致openssl相关无法使用。

cp /usr/bin/openssl /usr/bin/openssl.bak

卸载旧版openssl

卸载旧版本的openssl,避免在安装新版本openssl时与旧版本程序造成冲突。

yum -y remove openssl

编译安装新版openssl

cd /root
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
# 编译前配置基本环境,指定编译后安装路径为/usr
./config --prefix=/usr
# 编译程序,编译完成后安装
make -j 4 &&  make install

检查升级后的openssl版本

openssl version

image.png

依赖安装

yum -y install gcc zlib-devel pam-devel libselinux-devel

旧版本备份

查看版本号

# 查看版本号
ssh -V
sshd -H

image.png

备份旧程序

CURR_DT="$(date '+%F_%T'|tr -d ":-")"
echo 当前备份号:${CURR_DT}
mkdir -pv /root/ssh_back/${CURR_DT}

cp --parents -a /etc/ssh /root/ssh_back/${CURR_DT}
cp --parents -a /etc/pam.d/sshd /root/ssh_back/${CURR_DT}
cp --parents -a /usr/bin/ssh* /root/ssh_back/${CURR_DT}
cp --parents -a /usr/sbin/sshd* /root/ssh_back/${CURR_DT}

tree /root/ssh_back/${CURR_DT}

image.png

编译新版本

编译配置

cd /root
tar xf openssh-9.6p1.tar.gz
cd openssh-9.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ipaddr-display --with-4in6 \
--with-selinux

image.png

编译安装

make -j 4 && make install

image.png

程序版本检查

ssh -V
sshd -V

服务配置

# 修改ssh服务管理配置文件
sed -i 's|Type=notify|Type=simple|g' /usr/lib/systemd/system/sshd.service
cat /usr/lib/systemd/system/sshd.service
systemctl daemon-reload

# 修改ssh服务程序配置文件
chmod 600 /etc/ssh/*_key
sed -i 's|^GSSAPI|#GSSAPI|g' /etc/ssh/sshd_config
# 公钥算法支持配置,添加ssh-rsa算法:ssh-rsa
# 由于openssh8.2开始默认禁用rsa算法,可能导致老版本的ssh客户连接失败,在此添加rsa算法支持
echo 'PubkeyAcceptedAlgorithms +ssh-rsa' >> /etc/ssh/sshd_config

检查配置

sshd -t

image.png

服务重启

systemctl restart sshd

服务启动检查

systemctl status sshd

ss -anltp | grep sshd

image.png

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值