centos7.9和redhat6.9 离线升级OpenSSH和openssl (2023年的版本)

升级注意事项!

shell 复制代码
1、多开几个连接窗口(xshell),避免升级openssh失败无法再次连接终端,否则要跑机房了。
2、可开启telnet服务、vnc服务、打快照。多几个"保命"的路数。

一、centos7.9的信息

shell 复制代码
[root@node2 ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[root@node2 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

[root@node2 ~]# cat /proc/version 
Linux version 3.10.0-1160.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020

1.1升级操作

shell 复制代码
#下载所需软件包 (zlib、openssl、openssh)
wget https://www.zlib.net/fossils/zlib-1.2.13.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1v.tar.gz
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz?spm=a2c6h.25603864.0.0.686840adSlplPe

]# ls
openssh-9.4p1.tar.gz  openssl-1.1.1v.tar.gz  zlib-1.2.13.tar.gz

setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
shell 复制代码
#1 安装zlib. (如果编译报错缺gcc,则yum install gcc)
tar -xf zlib-1.2.13.tar.gz 
cd zlib-1.2.13/
./configure
make -j4
make install
shell 复制代码
#2 安装openssl
mv /usr/bin/openssl /usr/bin/openssl.bak

tar xf openssl-1.1.1v.tar.gz 
cd openssl-1.1.1v/
./config shared && make -j8 && make install

ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -snf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so
ln -snf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -snf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
ln -snf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

ldconfig
#此时显示的是 2023年8月的 openSSL版本
openssl version
shell 复制代码
#3 安装openssh
cp /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/sbin/sshd /usr/sbin/sshd.bak
mv /etc/ssh /etc/ssh.bak

tar xf openssh-9.4p1.tar.gz 
cd openssh-9.4p1/
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords
make -j8 && make install

# 修改启动文件和pam
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_bak

#查看ssh版本
ssh -V
systemctl daemon-reload
systemctl restart sshd
systemctl status sshd

完成升级SSH

二、redhad6.9的信息

shell 复制代码
升级步骤跟上面的描述一致, 这里的openssl和zlib低了几个版本(影响不大)

三、使用sed修改openssh的版本(偏方)

shell 复制代码
strings /usr/bin/ssh | grep -i OpenSSH_5.3
strings /usr/sbin/sshd | grep -i OpenSSH_5.3

sed -i.bak  's/OpenSSH_5.3/OpenSSH_9.4/g' /usr/sbin/sshd
sed -i.bak  's/OpenSSH_5.3/OpenSSH_9.4/g' /usr/bin/ssh
#此时openssh 5.3版本直接怼到了9.4

升级后的注意事项

shell 复制代码
1、centos7.9
升级后发现不能直接用root直接登陆服务器了。
2023年的openssh版本,他的/etc/ssh/sshd_config里面变成了 PermitRootLogin prohibit-password
如果允许则改成PermitRootLogin  yes  , 然后重启sshd服务。


正常升级和sed修改版本信息两个方法都尝试了,服务器正常运作。

2、redhat6.9中,好像不支持GSSAPI,sshd -t和重启sshd会报错,注释即可。

参考并感谢up主: 澎湃的福流 BV1s94y1Z7J3

相关推荐
多多*2 小时前
Java设计模式 简单工厂模式 工厂方法模式 抽象工厂模式 模版工厂模式 模式对比
java·linux·运维·服务器·stm32·单片机·嵌入式硬件
南鸳6104 小时前
Linux常见操作命令(2)
linux·运维·服务器
fengwuJ4 小时前
Linux安装Idea
linux·ubuntu·debian·intellij-idea
西北大程序猿5 小时前
linux进程信号 ─── linux第27课
linux·运维·服务器·信号处理
涛ing5 小时前
【Git “fetch“ 命令详解】
linux·c语言·c++·人工智能·git·vscode·svn
想躺在地上晒成地瓜干5 小时前
树莓派超全系列文档--(18)树莓派配置音频
linux·音视频·树莓派·raspberrypi·树莓派教程
宅小海6 小时前
14 配置Hadoop集群-配置历史和日志服务
linux·服务器·hadoop
孤客网络科技工作室7 小时前
每天学一个 Linux 命令(7):cd
java·linux·前端
hanpfei7 小时前
PipeWire 音频设计与实现分析一——介绍
linux·音视频
想躺在地上晒成地瓜干7 小时前
树莓派超全系列文档--(17)树莓派配置显示器
linux·树莓派·raspberrypi·raspi-config