CentOS7.6系统OpenSSH升级至openssh-9.3p2(精简版)

本文详细描述了在CentOS7.6系统中离线升级OpenSSH到9.3p2版本的过程,包括安装和升级ZLIB、Perl、OpenSSL和PAM的步骤,以及遇到的问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenSSH的升级过程会需要依赖ZLIB、Perl、OpenSSL,PAM。所以先要离线下载这些依赖对应的包:zlib-1.2.13.tar.gz,perl-5.38.0.tar.gz,Linux-PAM-1.3.1.tar.xz,openssl-1.1.1w.tar.gz,openssh-9.3p2.tar.gz。

1、安装/升级 zlib

tar -zxvf zlib-1.2.13.tar.gz

cd zlib-1.2.13

./configure --prefix=/usr/zlib

编译安装:

make && make install

卸载原zlib包,并替换新的。

cd /lib64

rm -rf  /usr/lib64/libz.so.1.2.7

rm -rf  /usr/lib64/libz.so.1

rm -rf  /usr/lib64/libz.so

复制新的程序到/lib64/目录下

cp /usr/zlib/lib/libz.so.1.2.13 /usr/lib64/

cp /usr/zlib/lib/libz.so.1 /usr/lib64/

cp /usr/zlib/lib/libz.so /usr/lib64/

软链接重定向为新文件

ln -snf /usr/lib64/libz.so.1.2.13 /usr/lib64/libz.so.1

ln -snf /usr/lib64/libz.so.1.2.13 /usr/lib64/libz.so

2、升级 Perl

perl -v   //查看perl版本 过低就不支持高版本的openssh更新

tar -zxf perl-5.38.0.tar.gz

cd perl-5.38.0

指定编译安装路径:

./Configure -de

编译安装:

make && make install

##但这只是安装完成了,系统调用还是旧版,要把旧版本替换掉。

备份旧程序

mv /usr/bin/perl /usr/bin/perl.bak

建立新的软连接,使安装的perl生效

ln -s /usr/local/bin/perl /usr/bin/perl

检测perl -v

3、安装pam-devel

tar -xf Linux-PAM-1.3.1.tar.xz

cd Linux-PAM-1.3.1

指定编译安装路径:

./configure

编译安装:

make && make install

4、升级 openssl

查看openssl的版本 最低不能低于1.1.1

ssh -V   

openssl version -a

备份旧程序

cp /usr/bin/openssl /usr/bin/openssl.old

cp -r /usr/include /usr/includeold

(一)编译源码安装。

tar -xzvf openssl-1.1.1w.tar.gz

cd openssl-1.1.1w

./config     #不带任何参数。

编译安装:

make && make install

查看版本:

openssl version -a

升级后如果执行 openssl version 命令出现:

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory错误。执行以下命令即可。

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

升级后如果执行 openssl version 命令出现:

openssl: /usr/lib/mic_lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
openssl: /usr/lib/mic_lib/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)。

使用命令删除即可。

rm -rf /usr/lib/mic_lib/libssl.so.1.1

rm -rf /usr/lib/mic_lib/libcrypto.so.1.1

5、进行openssh离线更新

先进行相关文件备份

cp /etc/pam.d/sshd /etc/pam.d/sshd20240117

cp -r /etc/ssh /etc/ssh20240117

开始进行解压缩然后进行相关操作

tar -xzvf openssh-9.3p2.tar.gz

cd openssh-9.3p2

停止SSH程序

systemctl stop sshd.service

删除旧的ssh程序

rm -rf /etc/ssh

指定编译安装路径与参数:

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-ssl-dir=/usr/ssl

编译安装:

make && make install

复制启动程序脚本到/etc/init.d/下

cd contrib/redhat

cp sshd.init /etc/init.d/sshd

设置开机自启

systemctl enable sshd

把配置文件和程序恢复

cp  /etc/ssh20240117/sshd_config /etc/ssh/sshd_config

cp /etc/pam.d/sshd20240117 /etc/pam.d/sshd

检查ssh配置

sshd -t   #提示79、80行报错

编辑vi  /etc/ssh/sshd_config配置文件,将79、90行注释。

然后使用配置文件启动程序

/usr/sbin/sshd -t -f /etc/ssh/sshd_config

systemctl start sshd.service

最后查看一下OpenSSH版本:

这是精简版本,详细版可看CentOS7.6系统OpenSSH升级到openssh-9.3p2(漏洞修复):http://t.csdnimg.cn/svJOK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值