CentOS7.9安装OpenSSL 1.1.1t和OpenSSH9.9p1


一、临时开启telnet登录方式,避免升级失败无法登录系统
(注意telnet登录方式存在安全隐患,升级openssh相关服务后要记得关闭)
 
1.安装telnet服务
yum -y install xinetd telnet*
 
2.允许root用户通过telnet登陆,编辑文件注释掉下面这行:
vim /etc/pam.d/login
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
 
3.备份配置文件/etc/securetty
cp /etc/securetty /etc/securetty.bak
 
4.添加超级用户登陆设备至/etc/securetty文件:
echo "pts/1" >> /etc/securetty
echo "pts/2" >> /etc/securetty
echo "pts/3" >> /etc/securetty
echo "pts/4" >> /etc/securetty
echo "pts/5" >> /etc/securetty
echo "pts/6" >> /etc/securetty
echo "pts/7" >> /etc/securetty
echo "pts/8" >> /etc/securetty
echo "pts/9" >> /etc/securetty
echo "pts/10" >> /etc/securetty

 
5.开启root用户远程登陆,编辑文件注释掉下面这行:
vim /etc/pam.d/remote
#auth required pam_securetty.so

 
6.创建 Telnet 的 xinetd 配置文件,使用下面的命令创建并编辑/etc/xinetd.d/telnet文件:
vim /etc/xinetd.d/telnet
 
在文件中添加以下内容:
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}
 

编辑完成后,保存并退出。
 
7.防火墙规则放行telnet默认端口23
firewall-cmd --add-port=23/tcp --zone=public --permanent
firewall-cmd --reload

 
8.启动 xinetd 服务
systemctl start xinetd
 
9.如果要禁用telnet服务,执行如下操作:
#停止telnet服务
systemctl stop xinetd
systemctl disable xinetd
systemctl stop telnet.socket

#防火墙禁用端口
firewall-cmd --remove-port=23/tcp --zone=public --permanent
firewall-cmd --reload

 
#编辑配置文件,恢复注释过的配置项:
vim /etc/pam.d/login
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

 
 
vim /etc/pam.d/remote
auth required pam_securetty.so

 
二、编译安装 OpenSSL 1.1.1t(全新安装)

1.下载依赖
yum install -y gcc make perl zlib-devel

2.在进行升级操作之前,对现有的 OpenSSL 和 OpenSSH 配置文件进行备份,防止升级过程中出现问题导致配置丢失。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak


3.下载并解压(路径根据实际情况修改)
mkdir -p /root/soft && cd /root/soft
wget -O openssl-1.1.1t.tar.gz https://www.openssl.org/source/openssl-1.1.1t.tar.gz
tar -xzf openssl-1.1.1t.tar.gz

 
4.配置编译
cd openssl-1.1.1t
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib

 
5.编译安装
make -j$(nproc) 
make install 

 
6.验证安装结果
ls -l /usr/local/openssl/{lib,include/openssl}

# 必须存在以下文件:
lib/libssl.so.1.1
lib/libcrypto.so.1.1

 
7. 配置系统环境变量,让系统能够找到新安装的 OpenSSL 库
echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig

8. 处理 SSH 配置文件过时的选项,编辑 /etc/ssh/sshd_config 文件,注释掉不支持的选项。
vi /etc/ssh/sshd_config
 
在文件中找到以下几行,在行首添加 # 进行注释:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
#UsePAM yes

 
保存并退出文件。

9. 修正 SSH 主机密钥文件权限,将 SSH 主机密钥文件权限修改为 600,确保只有文件所有者可读写。
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key


三、编译 OpenSSH 9.9p1(绑定 OpenSSL 1.1.1t)
1:下载安装包和编译
cd /root/soft
wget -O openssh-9.9p1.tar.gz  https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz
tar -xzf openssh-9.9p1.tar.gz
cd /root/soft/openssh-9.9p2

 
#编译安装文件
./configure --with-ssl-dir=/usr/local/openssl --with-zlib --sysconfdir=/etc/ssh
 
2.编译安装(含动态链接修复)
make -j$(nproc) && make install
 
# 永久生效动态链接(避免重启失效)
echo '/usr/local/openssl-1.1.1t/lib' >> /etc/ld.so.conf.d/openssl-1.1.conf

# 验证 libssl.so.1.1 路径
ldconfig -v 
 

3. 配置 SSH 服务,将原有的 SSH 服务配置文件替换为新安装的 OpenSSH 提供的配置文件,并设置权限。
cp -f contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd

4 启动 SSH 服务,启动 SSH 服务并设置为开机自启。
systemctl start sshd
systemctl enable sshd

 
5. 验证版本,验证 OpenSSL 和 OpenSSH 是否成功升级到指定版本。
/usr/local/openssl/bin/openssl version
ssh -V

 
6. 验证 SSH 服务,检查 SSH 服务是否正常运行。
systemctl status sshd

 最后要记得,按照前面步骤禁用telnet登录方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用DCI和RTIT技术进行精准调优--看录像

使用DCI和RTIT技术进行精准调优_哔哩哔哩_bilibili 每次看录像都记录一下。 PT/RTIT简介 DCI技术即通过USB3.0接口去访问调试目标机的JTAG组件,凡是运行在CPU上的代码均可以进行调试,这就没有了使用WinDBG调试时,会出现的不能调试敏感代码…

从MCP基础到FastMCP实战应用

MCP(https://github.com/modelcontextprotocol) MCP(模型上下文协议) 是一种专为 基于LLM的工具调用外部工具而设计的协议 , 本质上是 LLM ↔ 工具之间的RPC(远程过程调用) 的一种安全且一致的处理方式, 是…

深入理解C语言中的整形提升与算术转换

深入理解C语言中的整形提升与算术转换 一.整形提升:概念与原理 在C语言中,整形提升(Integer Promotion)是一个重要但容易被忽视的概念。它指的是在表达式中,任何小于int类型的整型(如char、short&#xf…

编程题python常用技巧-持续

1.字典 1.1排序 在Python中,要按照字典的值进行排序,可以按照以下步骤操作: 方法说明 ‌获取键值对列表‌:使用 dict.items() 获取字典的键值对视图。‌排序键值对‌:使用 sorted() 函数,并通过 key 参…

硬件工程师面试常见问题(11)

第五十一问:器件手册的翻译题目 要学英语啊,孩子。 第五十二问:二极管三极管常识题 1.二极管的导通电压一般是 0.7V 2.MOS管根据掺杂类型可以分为 NMOS和PMOS 3.晶体三极管在工作时,发射结和集电结均处于正向偏置,该晶体管工作在一饱和态。…

mysql 配置文件中的[client]、[mysqld]、[mysqldump]和[mysql]区块的作用区别

1. [client] 区块 作用: 适用于 所有 MySQL 客户端工具(如 mysql 命令行客户端、mysqldump、mysqladmin 等)。 常见配置项: [client] host 127.0.0.1 # 默认连接的服务器地址 port 3306 # 默认端口 user root …

SARSA 算法详解:python从零实现

喜欢可以订阅专栏哟 第一章 强化学习基础与核心概念 1.1 强化学习的定义与特点 强化学习(Reinforcement Learning, RL)是机器学习三大范式之一(监督学习、无监督学习、强化学习),其核心思想是通过智能体(Agent)与环境(Environment)的持续交互来学习最优策略。与监督…

(C题|社交媒体平台用户分析问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

AI重塑SEO关键词策略

内容概要 传统SEO策略主要依赖人工经验与基础工具进行关键词布局,存在效率低、覆盖维度单一等痛点。而AI技术的介入,使关键词优化从静态词库匹配转向动态语义网络构建。通过自然语言处理(NLP)与深度学习模型,AI不仅能…

【Unity】 组件库分类详解

1️⃣ Audio(音频组件) 用于处理游戏中的声音。 Audio Source 读音[ˈɔːdiəʊ ˈsɔːs],音频源组件,用于播放音频文件,可设置音量、Pitch、循环播放等属性,是音频播放的核心组件。 Audio Listener 读音…

【区块链】区块链技术介绍

引言 区块链技术自2008年中本聪提出比特币概念以来,逐渐从加密货币的底层技术演变为一场颠覆传统信任机制的全球性革命。它不仅重塑了金融体系,更在物流、医疗、政务等领域展现出巨大潜力。本文将用通俗易懂的语言,结合实例与原理&#xff0c…

MySQL零基础入门:Ubuntu环境安装与操作精解

知识点1【数据库】 数据的存储方式,我们之前学的,从变量,数组,链表,最后到文件,文件之上,便是数据库,而我们要介绍的MySQL就是数据库的关系数据库中的其中一种。 1、数据库 本质&…

力扣——23合并升序链表

目录 1:题目描述: 2.算法思想: 3.代码展示: 1:题目描述: 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入&#xff…

AI重构危化品进口清关:一场效率与安全的双重革命

在全球化工产业链深度捆绑的今天,每年超过3亿吨危险化学品通过中国各大口岸流入国内市场。这些支撑着新能源电池、半导体材料等战略产业的“工业血液”,其进口清关流程却长期困于效率与安全的两难困境:人工审核单据平均耗时72小时&#xff0c…

牛客网题解 | 栈的压入、弹出序列

栈的压入、弹出序列 一、题目链接二、题目三、算法原理:用一个栈模拟入栈出栈的过程四、编写代码 一、题目链接 栈的压入、弹出序列 二、题目 三、算法原理:用一个栈模拟入栈出栈的过程 思路:用一个栈模拟入栈出栈的过程,模拟出…

使用CubeMX新建DMA工程——存储器到存储器模式

目录 1、新建板级支持包 2、修改main.c 3、程序流程 4、问题 新建工程的基本操作步骤参考这里: 【【野火】STM32 HAL库开发实战指南 教学视频 手把手教学STM32全系列 零基础入门CubeMXHAL库,基于野火全系列STM32开发板】 https://www.bilibili.com/…

HTML5 新增的主要标签整理

一、语义化标签&#xff08;让网页结构更清晰&#xff09; 1. <header> 和 <footer> 定义&#xff1a;表示网页的「顶部区域」和「底部区域」。场景&#xff1a; <header>&#xff1a;放 Logo、导航栏、搜索框。<footer>&#xff1a;放版权信息、联系…

Mysql数据库高可用解决方案-Mysql Router

目录 一.MySQL Router介绍 1. 什么是 MySQL Router&#xff1f; 2. MySQL Router 的主要用途 3. MySQL Router 的工作原理 4. MySQL Router 的核心组件 5. MySQL Router 的部署和配置 6. MySQL Router 的优势 7. 注意事项 8. MySQL Router 与其他工具的对比 9. 总结 …

【学习笔记】机器学习(Machine Learning) | 第六周|过拟合问题

机器学习&#xff08;Machine Learning&#xff09; 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习&#xff08;Machine Learning&#xff09;简要声明 摘要过拟合与欠拟合问题一、回归问题中的过拟合1. 欠拟合&#xff08;Underfit&#x…

当算力遇上堵车:AI如何让城市血管不再“血栓”?

目录 一、算力治堵的“外科手术” 二、算力治堵的“内科检查” 三、算力治堵的“中医调理” 治堵如治水,算力是新时代的“大禹” “堵车”是每个大城市的通病,但鲜少有人意识到:交通拥堵的根源并非车辆过多,而在于车速过慢,不是因为堵车才慢,而是因为慢才堵车。中国工…