常用环境部署(二十九)——Centos升级OpenSSH 10.2p1

1、安装依赖工具

复制代码
# CentOS/RHEL
yum install -y gcc make zlib-devel openssl-devel pam-devel

# Ubuntu/Debian
apt install -y gcc make libssl-dev libpam0g-dev

2、备份原有配置(关键,用于回滚)

复制代码
cp -r /etc/ssh /etc/ssh.bak.$(date +%Y%m%d)
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

3、升级依赖

注意:CentOS 7 自带 OpenSSL 1.0.2,无法直接编译 OpenSSH 10.2+,必须先升级 OpenSSL。

3.1、下载并编译 OpenSSL 1.1.1

复制代码
cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz

tar -zxvf openssl-1.1.1w.tar.gz
复制代码
cd openssl-1.1.1w

./config --prefix=/usr/local/openssl11 --shared zlib
复制代码
make -j4 && make install

3.2、配置动态链接器

复制代码
echo "/usr/local/openssl11/lib" > /etc/ld.so.conf.d/openssl11.conf

ldconfig

4、编译安装 OpenSSH

4.1、下载最新源码

复制代码
cd /usr/local/src

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.2p1.tar.gz

tar -zxvf openssh-10.2p1.tar.gz

cd openssh-10.2p1

4.2、配置编译(指定新版 OpenSSL 路径)

复制代码
./configure --prefix=/usr \
            --sysconfdir=/etc/ssh \
            --with-ssl-dir=/usr/local/openssl11 \
            --with-zlib \
            --without-openssl-header-check

4.3、编译与安装

复制代码
make -j4 && make install

4.4、修复配置与权限(解决 Access denied)

复制代码
vim /etc/ssh/sshd_config

修改以下内容:

4.5、修复密钥权限

复制代码
chmod 600 /etc/ssh/ssh_host_*_key

chmod 644 /etc/ssh/ssh_host_*_key.pub

chown root:root /etc/ssh/ssh_host_*_key

setenforce 0

ssh-keygen -A

4.6、重启 SSH 服务

复制代码
systemctl restart sshd

4.7、检查状态

复制代码
systemctl status sshd

ssh -V

4.8、本地测试登录(不要退出当前终端,新开终端测试)

复制代码
ssh root@localhost
相关推荐
飞英思特无线充电14 分钟前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi37 分钟前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel1 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品2 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿2 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
深念Y5 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
AuTumn-L5 小时前
使用 SSH 密钥认证实现安全免密登录
服务器·安全·ssh
领创工作室5 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋5 小时前
目前可用的docker源2026.08
运维·docker·容器
知无不研6 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程