news 2026/7/2 2:04:43

OpenSSH7.4升级到OpenSSH 9.8p1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenSSH7.4升级到OpenSSH 9.8p1

因linux服务器(centos 7.5,7.6,7.9 )都扫描出ssh的低版本漏洞,需要升级。

升级思路:

1.多打开几个ssh窗口,以及打开telnet,避免ssh升级过程中断开无法连上远程。

2.升级OpenSSL为高版本OpenSSL 3.5.7

3.然后升级OpenSSH7.4到OpenSSH_9.8p1

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

升级前准备,多打开几个ssh窗口,以及打开telnet

网上查资料,打开telnet要有pts,但是CentOS7.6 /etc/securetty 无 pts

一、先给 securetty 添加 pts 虚拟终端(你当前文件缺少这部分)

1. 一键追加 pts 行(直接复制执行)

echo -e 'pts/0\npts/1\npts/2\npts/3\npts/4\npts/5\npts/6\npts/7\npts/8\npts/9' >> /etc/securetty

2. 验证是否写入成功

[root@ openssh-9.8p1]# cat /etc/securetty console vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 ttyS0 ttysclp0 sclp_line0 3270/tty1 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvsi0 hvsi1 hvsi2 xvc0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9

二、确认 telnet 服务配置(/etc/xinetd.d/telnet)

vi /etc/xinetd.d/telnet

service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID }

关键:disable = no开启 telnet

三、防火墙放行 23 端口

firewall-cmd --permanent --add-port=23/tcp firewall-cmd --reload # 查看端口 firewall-cmd --list-ports

四、关闭 SELinux(否则大概率登录失败)

setenforce 0

如果要永久关闭,则用:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

五、重启 xinetd 服务生效

systemctl restart xinetd systemctl enable xinetd systemctl status xinetd

六、测试登录

# 本地自测 telnet 127.0.0.1 # 远程替换服务器IP telnet 你的服务器IP

安全提醒

telnet 明文传输账号密码,仅内网临时应急使用,公网严禁开放,用完立即关闭:

后续的关闭方法:(当前打开的时候先跳过,后面升级完了)

systemctl stop xinetd systemctl disable xinetd firewall-cmd --permanent --remove-port=23/tcp firewall-cmd --reload

------------------------------------------------------

安装openssl-3.5.7

# 安装编译依赖 yum groupinstall "Development Tools" -y yum install zlib-devel perl-IPC-Cmd perl-Data-Dumper wget -y yum install gcc gcc-c++ make zlib-devel pam-devel openssl-devel perl -y yum install perl-Time-Piece perl-core gcc gcc-c++ make zlib-devel -y # 下载解压3.5.7源码 也可以手动下载了上传上去,下载比较慢 cd /usr/local/src wget https://www.openssl.org/source/openssl-3.5.7.tar.gz tar -zxf openssl-3.5.7.tar.gz cd openssl-3.5.7 # 独立目录编译(核心:不覆盖系统) ./config --prefix=/usr/local/openssl3.5.7 --openssldir=/usr/local/openssl3.5.7 shared zlib make -j$(nproc) make install # 加载新版库(仅编译openssh时生效,不影响系统) echo "/usr/local/openssl3.5.7/lib64" > /etc/ld.so.conf.d/openssl3.5.7.conf ldconfig # 验证新版 /usr/local/openssl3.5.7/bin/openssl version # 系统原版不受影响 openssl version

------------------------------------------------------

安装OpenSSH 9.8p1

#编译安装 OpenSSH 9.8p1,指定 OpenSSL 3.5.7 cd /usr/local/src # 下载源码包 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz # 解压 tar -zxvf openssh-9.8p1.tar.gz cd openssh-9.8p1 # configure 指定ssl路径、pam认证、系统ssh配置目录、指定 OpenSSL 3.5.7 ./configure \ --prefix=/usr/local/openssh-9.8p1 \ --sysconfdir=/etc/ssh \ --with-pam \ --with-zlib \ --with-ssl-dir=/usr/local/openssl3.5.7 # 编译 make -j$(nproc) # 安装 make install # 会报错 执行如下 sed -i 's/^GSSAPIAuthentication/#GSSAPIAuthentication/' /etc/ssh/sshd_config sed -i 's/^GSSAPICleanupCredentials/#GSSAPICleanupCredentials/' /etc/ssh/sshd_config vi /etc/pam.d/sshd #原有新增的: auth [success=1 default=ignore] pam_succeed_if.so uid = 0 quiet 改为: auth [success=done default=ignore] pam_succeed_if.so uid = 0 quiet

------------------------------------------------------

关闭telnet

#1. 停止并禁用 telnet 依赖服务 xinetd # 停止服务 systemctl stop xinetd # 取消开机自启 systemctl disable xinetd # 确认状态(显示inactive dead即关闭成功) systemctl status xinetd #2. 防火墙删除 23 端口放行规则 # 永久移除23端口 firewall-cmd --permanent --remove-port=23/tcp # 重载防火墙生效 firewall-cmd --reload # 校验端口列表,无23/tcp代表删除成功 firewall-cmd --list-ports # 3. 恢复 /etc/securetty 原始安全配置(删除新增的 pts 行) sed -i '/pts\//d' /etc/securetty cat /etc/securetty #输出不再有pts/0、pts/1...即可。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 2:03:55

选芯片编程烧录座,这3个专业性价比最稳

在芯片研发和量产测试中,编程烧录座的选择往往被工程师忽视,但实际上它直接影响良率、成本和交付周期。2026年,随着芯片封装密度持续提升(如0.3mm以下细间距BGA、3D堆叠CSP),以及车规、AI芯片对可靠性要求的…

作者头像 李华
网站建设 2026/7/2 2:02:14

Codex 插件生态全景:从官方工具到社区神器

Codex 插件生态全景:从官方工具到社区神器 OpenAI Codex 的插件系统于 2026 年 3 月正式发布,标志着 Codex 从一个单纯的代码助手进化为一个可扩展的 AI 开发平台。插件将技能(Skills)、应用集成和 MCP(Model Context Protocol)服务器配置打包成可安装的 bundle,让 Cod…

作者头像 李华
网站建设 2026/7/2 2:00:21

P2279 [HNOI2003] 消防局的设立 题解加总结

思路 因为题目求的是覆盖树上所有点的所放置最少的消防站数量,因此此题需使用树形 DP 解决 状态申明 因为每个"消防局"能覆盖与它距离不超过 2 的节点 ,因此 总共设有5个状态 dp[x][0] 为覆盖到 的爷爷(包括父亲)和…

作者头像 李华
网站建设 2026/7/2 2:00:06

Android 7系统日志(四)日志写入接口—Java层与Native层

系列目录:第一篇:全景图与架构概览 | 第二篇:logd守护进程—启动、初始化与Socket通信 | 第三篇:liblog库—日志写入的完整链路 | 第四篇:日志写入接口—Java层与Native层 | 第五篇:日志读取—logcat源码深…

作者头像 李华
网站建设 2026/7/2 1:59:12

首先从功能最简单的out_ptr讲起。

std::out_ptr其实是一个函数&#xff0c;返回一个类型为std::out_ptr_t的智能指针适配器&#xff0c;函数签名如下&#xff1a; #include <memory>template< class Pointer void, class Smart, class... Args >auto out_ptr( Smart& s, Args&&... arg…

作者头像 李华