centos 升级 openssh到最新版本

本文详细介绍如何从旧版本升级到OpenSSH最新版,包括下载源码、编译安装、重启服务及常见错误调试步骤。适用于希望更新SSH服务以增强安全性与功能的系统管理员。

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

一、准备 openssh 最新包

1、查看当前版本号
2、下载源码包,两种方式之服务器下载的两种方式

# 查看当前版本号
[root@out2434-004 soft]# ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

# 服务器下载的两种方式( curl 和 wget )
[root@out2434-004 soft]# curl -O https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
# 或者
[root@out2434-004 soft]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz

3、下载源码包,两种方式之本地下载,下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
选择最新的包

二、安装

4、解压源码包
5、编译安装
6、重启服务(不重启应该可以可以)

[root@out2434-004 soft]# cd openssh-8.5p1
[root@out2434-004 openssh-8.5p1]# ./configure 
[root@out2434-004 openssh-8.5p1]# make
[root@out2434-004 openssh-8.5p1]# make install
[root@out2434-004 openssh-8.5p1]# systemctl restart sshd.service # 经测试可以不重启

三、测试

7、需要退出当前会话,重新进入后才能查看到版本号的变化

[root@out2434-004 ~]# ssh -V
OpenSSH_8.5p1, OpenSSL 1.0.1e-fips 11 Feb 2013

四、错误调试

编译错误一:报错信息如下:

configure: error: no acceptable C compiler found in $PATH

# 解决办法

yum install -y gcc

编译错误二:报错信息如下:

configure: error: *** zlib.h missing – please install first or check config.log

# 出现上述报错,是因为缺少zlib-devel
# 最推荐的解决办法(最简单有效)
# yum安装openssl-devel包即可:

yum install -y zlib-devel

编译错误三:报错信息如下:

configure: error: *** working libcrypto not found, check config.log ***
# 或:
configure: error: *** OpenSSL headers missing - please install first or check config.log ***

# 出现上述两种报错,都是因为缺少openssl-devel包。
# 最推荐的解决办法(最简单有效)
# yum安装openssl-devel包即可:

yum install -y openssl-devel

### 准备工作 对于 CentOS 系统而言,离线升级 OpenSSH 至最新稳定版本涉及多个步骤。考虑到不同版本的 CentOS 使用不同的初始化系统来管理服务,了解当前使用的初始化系统有助于更好地理解如何操作。例如,在较新版本的 CentOS 中(如 CentOS 7 及以上),通常采用 `systemd` 来管理系统和服务[^3]。 ### 下载所需文件 由于目标是在无网络连接的情况下执行此任务,因此需要提前在一个有互联网访问权限的工作站上准备好所有必需的 RPM 文件及其依赖项。可以从官方仓库或其他可信资源获取这些文件,并将其传输到目标机器上。建议使用相同架构和相似内核版本的操作系统环境来进行下载,以减少兼容性问题的发生概率。 ### 安装前准备 确保拥有管理员权限以便于后续命令顺利运行。同时确认已停止现有的 SSH 服务以防冲突: ```bash sudo systemctl stop sshd.service ``` ### 解决依赖关系 在安装之前解决所有的依赖问题是至关重要的一步。可以通过创建本地 yum 源的方式处理依赖关系,即把下载好的 rpm 包放置在同一目录下形成临时存储库,再利用该存储库解析并满足所需的任何额外软件包需求。具体做法如下所示: 1. 创建一个新的 YUM 配置文件 `/etc/yum.repos.d/local.repo`; 2. 编辑上述配置文件加入以下内容: ```ini [local] name=Local Repository baseurl=file:///path/to/your/rpms/ enabled=1 gpgcheck=0 ``` 其中 `/path/to/your/rpms/` 应替换为你实际存放 RPM 文件的位置路径; ### 执行安装过程 当一切就绪后就可以开始正式安装新的 OpenSSH 软件包了。这一步骤同样适用于其他相关组件如客户端工具等: ```bash yum install --enablerepo=local openssh-server.x86_64 -y ``` 这条指令会告诉 YUM 只从名为 "local" 的自定义源中查找可用更新而不考虑默认启用的在线源。 ### 后续设置 成功安装之后还需要做一些必要的调整才能让新版 OpenSSH 正常运作起来。比如重新加载或重启相应的守护进程使更改生效: ```bash sudo systemctl daemon-reload sudo systemctl start sshd.service sudo systemctl enable sshd.service ``` 最后验证一下是否确实启用了预期版本的服务端程序即可完成整个流程[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值