常用环境部署(二十九)——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
相关推荐
2601_965798472 分钟前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学18 分钟前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式27 分钟前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
云飞云共享云桌面38 分钟前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T1 小时前
LVS相关知识总结
linux·运维·服务器·lvs
lightqjx2 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用
我星期八休息2 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
各类产品分享2 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan2 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔2 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes