Linux Centos7.9 OpenSSH升级到9.8p1最新版详细教程

Linux Centos7.9 OpenSSH升级到9.8p1最新版详细教程


前言

本次测试系统为Centos7.9 2009版本,升级前OpenSSH版本7.4p1,OpenSSL版本1.0.2k,其他系统及版本请自行测试。


一、升级前准备工作

1、查看操作系统版本号

在这里插入图片描述

2、备份现有配置

cp -rf /etc/ssh /etc/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -rf /etc/pam.d /etc/pam.d.bak
cp -rf /usr/lib/systemd/system /system.bak

3、telnet 安装配置

#1.telnet安装
yum install -y telnet telnet-server xinetd
#2.启动telnet服务
systemctl start xinetd && systemctl start telnet.socket
#3.开放防火墙23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
#4.重新加载防火墙规则
firewall-cmd --complete-reload
#5.查询23端口放行情况
firewall-cmd --query-port=23/tcp
#6.开放telnet明文登录
sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so/#&/' /etc/pam.d/remote
#7.测试telnet登录
telnet ip
#8.加入开机启动
systemctl enable telnet.socket

二、开始升级

1、安装依赖和下载安装包

1.1 依赖及编译环境安装

# 安装相关的依赖项,如有遗漏再次安装
yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano
或者
# 安装相关的依赖项,如有遗漏再次安装
yum -y install gcc pam-devel zlib-devel openssl-devel net-tools

1.2 下载源码包

cd /usr/local/src
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

1.3 解压源码包

cd /usr/local/src/
tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.3.1.tar.gz
tar -zxvf openssh-9.8p1.tar.gz

2、安装Zlib

#1.进入zlib-1.3.1目录
cd /usr/local/src/zlib-1.3.1
#2.配置
./configure --prefix=/usr/local/src/zlib
#3.编译及安装(编译时间预计几分钟,视机器而定)
make -j 4 && make test && make install

3、安装OpenSSL

#1.进入openssl-3.3.1目录
cd /usr/local/src/openssl-3.3.1
#2.配置
./config --prefix=/usr/local/src/openssl
#3.编译及安装(编译时间预计几分钟,视机器而定)
make -j 4 && make install
#4.配置
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
#5.更新动态库
echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf
ldconfig
#6.查看更新后的版本
openssl version -v

4、安装OpenSSH

4.1 卸载旧版本OpenSSH服务

#1.卸载openssh7.4p1
yum remove -y openssh
#2.清理残余文件
rm -rf /etc/ssh/*

4.2 安装最新版Openssh服务

#1.进入openssh-9.8p1目录
cd /usr/local/src/openssh-9.8p1
#2.配置
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib 
#3.编译及安装
make -j 4 && make install
#4.查看目录版本
/usr/local/src/ssh/bin/ssh -V
#5.复制新ssh文件
cp -rf /usr/local/src/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /usr/local/src/openssh-9.8p1/contrib/redhat/sshd.pam /etc/pam.d/sshd

cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
#6.允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

#重启sshd服务
/etc/init.d/sshd restart
#查看服务运行状态
/etc/init.d/sshd status
#添加开机启动
chkconfig --add sshd
#查看升级后ssh版本
ssh -V

总结

提示:这篇文章只作为学习记录,感谢原作者分享。
参考链接:https://blog.csdn.net/zt19820204/article/details/137877652

              https://blog.csdn.net/qq18346342939/article/details/140149193?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-4-140149193-blog-131764681.235%5Ev43%5Epc_blog_bottom_relevance_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-4-140149193-blog-131764681.235%5Ev43%5Epc_blog_bottom_relevance_base3&utm_relevant_index=9
在 CentOS 7.9 系统上升级 OpenSSH版本 9.8p1 需要注意几个步骤,因为默认的 CentOS 7 安装包并不包含 OpenSSH 9.x 版本。以下是升级的一般指南: 1. **确认当前OpenSSH版本**: 打开终端,运行 `rpm -q openssh-server` 来查看当前安装的 OpenSSH 版本。 2. **更新系统**: 先确保系统是最新的,输入 `sudo yum update`. 3. **添加 EOL 插件仓库**: CentOS 7 已经不再支持官方的软件源,但是你可以从第三方仓库获取 OpenSSH 9.8p1。首先,需要关闭selinux(如果开启): ``` sudo setenforce 0 ``` 添加仓库,例如使用 `epel` 或 `remi-safe`: ``` sudo yum-config-manager --add-repo http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-safe-7 ``` 4. **安装新版本OpenSSH**: 更新并安装新版本: ``` sudo yum install epel-release openssh-server openssh-clients ``` 如果提示有旧版本冲突,可以使用 `yum remove openssh*` 来移除旧版后再安装。 5. **检查安装并验证**: 安装完成后,再次检查 `rpm -q openssh-server` 确认已安装的是 9.8p1 或更高版本。 6. **配置和服务启动**: 检查并编辑 `/etc/ssh/sshd_config` 文件,如果有新的配置选项,请相应修改。然后重启 ssh 服务: ``` sudo systemctl restart sshd sudo systemctl status sshd ``` **注意**:由于 CentOS 7 已达到 End of Life (EOL)状态,这意味着它不会接受安全更新,因此升级到较新版本SSH 可能会带来潜在风险。在生产环境中,建议考虑迁移至更稳定且仍在维护的版本,如 CentOS Stream 或升级到 CentOS 8。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值