OpenSSH从7.4升级到9.8的过程 亲测--图文详解

 一、下载软件

  下载openssh    下载地址:   Downloads | Library

下载openssl

Index of /pub/OpenBSD/OpenSSH/

zlib Home Site

安装的 openssl-3.3.1.tar.gz ,安装3.3.2有问题  安装有问题,

二、安装依赖

yum install -y perl-CPAN perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

三、安装 openssl-3.3.1.tar.gz

解压斌进入 openssl 


编译  执行./config --prefix=/usr/local/openssl --shared 生成MakeFile文件

./config --prefix=/usr/local/openssl --shared

make -j4 && make -j4 install

#路径写入etc/ld.so.conf

echo '/usr/local/openssl/lib64' >> /etc/ld.so.conf

 #备份ssh配置文件

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -p /usr/sbin/sshd /usr/sbin/sshd.bak
cp -p /usr/bin/ssh /usr/bin/ssh.bak
cp -p /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -p /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak

删除旧的软链接

rm -rf  /usr/bin/openssl
rm -rf  /usr/include/openssl  
rm -rf  /usr/lib64/libssl.so  
rm -rf /usr/lib64/libcrypto.so.1.0.2k



创建新的openssl软链接

ln -s /usr/local/openssl/include/openssl /usr/include/openssl  
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.3 /usr/lib64/libssl.so 
ln -s /usr/local/openssl/lib/libcrypto.so.3 /usr/lib64/libcrypto.so.3

使修改后的/etc/ld.so.conf生效

 ldconfig -v

验证是否成功安装

查看openssl版本

openssl version -a

四、安装  zlib

用浏览器打开下载 http://www.zlib.net/zlib-1.2.11.tar.gz     可以去官网自己下载

tar -xvzf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure make make install

tar -xvzf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configuremake -j4 && make -j4 install

五、安装openssh

openssh 我下载的是9.8的版本 
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

解压 tar xvf openssh-9.8p1.tar.gz

进入解压目录

./configure --prefix=/usr/local/openssh    --with-ssl-dir=/usr/local/openssl --with-zlib  

make -j4 && make -j4 install

#ssh允许root登录、需要密码进行验证

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config


 #将编译安装的新配置文件 拷贝到原路径下

#删除旧的rm -rf    /etc/ssh/sshd_config
rm -rf    /usr/sbin/sshd
rm -rf    /usr/bin/ssh
rm -rf    /usr/bin/ssh-keygen
rm -rf    /etc/ssh/ssh_host_ecdsa_key.pub#复制新的
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

#拷贝启动脚本

cp -p contrib/redhat/sshd.init /etc/init.d/sshd

#给sshd添加可执行权限

chmod +x /etc/init.d/sshd

#设置开机自启

systemctl enable sshd

#重新启动sshd服务

systemctl restart sshd

#查看sshd服务状态

systemctl status sshd

#查看ssh版本是否升级成功,可以查看到已经是9.5版本了

ssh -V 

3.3.2安装报错 还没解决。。。。。。

(base) [root@localhost openssl-3.3.2]# ./config shared
Can't locate IPC/Cmd.pm in @INC (@INC contains: /opt/openssl-3.3.2/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /opt/openssl-3.3.2/external/perl/Text-Template-1.56/lib) at /opt/openssl-3.3.2/util/perl/OpenSSL/config.pm line 19.
BEGIN failed--compilation aborted at /opt/openssl-3.3.2/util/perl/OpenSSL/config.pm line 19.
Compilation failed in require at /opt/openssl-3.3.2/Configure line 23.
BEGIN failed--compilation aborted at /opt/openssl-3.3.2/Configure line 23.

yum install perl-IPC-Cmd -y

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

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

相关文章

信息安全工程师(8)网络新安全目标与功能

前言 网络新安全目标与功能在当前的互联网环境中显得尤为重要,它们不仅反映了网络安全领域的最新发展趋势,也体现了对网络信息系统保护的不断加强。 一、网络新安全目标 全面防护与动态应对: 目标:建立多层次、全方位的网络安全防…

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(二)-索引

场景 首先介绍测试的场景,本文schema定义 pdm文档索引,包括nested,扩展字段,文档属性扩展,其中_content字段是组件保留字段,支持文本内容 索引 索引服务索引的操作,包括构建,put …

人工智能——猴子摘香蕉问题

一、实验目的 求解猴子摘香蕉问题,根据猴子不同的位置,求解猴子的移动范围,求解对应的过程,针对不同的目标状态进行求解。 二、实验内容 根据场景有猴子、箱子、香蕉,香蕉挂天花板上。定义多种谓词描述位置、状态等…

【Python语言初识(二)】

一、分支结构 1.1、if语句 在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他…

Python编码系列—Python适配器模式:无缝集成的桥梁

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

UGit:腾讯自研的Git客户端新宠

UGit 是一款专门针对腾讯内部研发环境特点量身定制的 Git 客户端,其目标在于大幅提升开发效率以及确保团队协作的高度流畅性。UGit 能够良好地支持 macOS 10.11 及以上版本、Apple Silicon 以及 Win64 位系统。 可以下载体验一把。 https://ugit.qq.com/zh/index.…

稀土抗菌剂:厨房用品中的安全卫士

稀土抗菌剂的抗菌机制是基于稀土的光催化半导体特性,通过光生氧自由基ROS机理杀灭细菌;稀土化合物与细菌表面静电结合,造成直接的杀灭;稀土化合物破坏细胞膜通透性,造成破损导致细胞质流出杀灭细菌;稀土离子跨膜后与细…

【Text2SQL】PET-SQL:在Spider基准测试中取得了SOTA

解读:PET-SQL: A Prompt-enhanced Two-stage Text-to-SQL Framework with Cross-consistency 这篇论文介绍了一个名为 PET-SQL 的文本到 SQL(Text-to-SQL)框架,旨在通过增强提示(prompt)和利用不同大型语言…

数据结构--双链表

目录 一、引言 二 、链表的分类 1.单向或双向 2.带头或不带头 3.循环或不循环 三、双链表的概念与基本结构 1.概念 2.基本结构 三、双链表的常见操作 1.创建节点 2.初始化 3.头插 4.尾插 5.头删 6.尾删 7.打印 8.查找 9.插入节点 10.删除节点 11.销毁链…

OpenAi assistant run always fails when called from PHP

题意:从 PHP 调用时,OpenAI 助理运行总是失败。 问题背景: The runs I create with the openai-php library fail direct in 100% of cases. What am I doing wrong? I do not have much experience with php but this is the test script.…

Codeforces Round 973 (Div. 2) - D题

传送门&#xff1a;Problem - D - Codeforces 题目大意&#xff1a; 思路&#xff1a; 尽量要 最大值变小&#xff0c;最小值变大 即求 最大值的最小 和 最小值的最大 -> 二分答案 AC代码&#xff1a; 代码有注释 #include<bits/stdc.h> using namespace std; #…

neo4j(spring) 使用示例

文章目录 前言一、neo4j是什么二、开始编码1. yml 配置2. crud 测试3. node relation 与java中对象的关系4. 编码测试 总结 前言 图数据库先驱者 neo4j&#xff1a;neo4j官网地址 可以选择桌面版安装等多种方式,我这里采用的是docker安装 直接执行docker安装命令: docker run…

Git之如何删除Untracked文件(六十八)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

基于Springboot的助学金管理系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 一、研究背景 利用计算机来实现助学金管理系统&#xff0c;已经成为一种趋势&#xff0c;相比传统的手工管理方式&#xff0c;利用软件进行助学金管理系统&#xff0c;有着执行快&#xff0c;可行性高、容量存储大&#xff0c;…

【C#】内存的使用和释放

在 C# 中&#xff0c;内存管理主要是由 .NET 的垃圾回收器&#xff08;Garbage Collector, GC&#xff09;自动处理的。然而&#xff0c;了解如何正确地使用和释放内存对于编写高效且可靠的代码非常重要。以下是一些关键点和最佳实践&#xff1a; 1. 内存分配 托管资源&#x…

CSS——弹性盒子布局(display: flex)

CSS——弹性盒子布局&#xff08;display: flex&#xff09; 我们经常听说一种布局&#xff1a;Flexbox或者是弹性布局&#xff0c;它的全称叫做弹性盒子布局&#xff08;Flexible Box Layout&#xff09;&#xff0c;那么它到底该如何实现呢&#xff1f;从我们熟悉的 display…

大模型训练实战经验总结

在当今AI技术飞速发展的背景下&#xff0c;定制化大模型的自主训练已成为满足特定行业需求、保障数据安全、提升模型应用效能的关键途径。本文将深度剖析这一过程的核心价值与实践智慧&#xff0c;从数据隐私保护、模型透明度增强&#xff0c;到数据预处理的精细操作&#xff0…

Packet Tracer - IPv4 ACL 的实施挑战(完美解析)

目标 在路由器上配置命名的标准ACL。 在路由器上配置命名的扩展ACL。 在路由器上配置扩展ACL来满足特定的 通信需求。 配置ACL来控制对网络设备终端线路的 访问。 在适当的路由器接口上&#xff0c;在适当的方向上 配置ACL。…

Python编码系列—Python外观模式:简化复杂系统的快捷方式

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

ZYNQ FPGA自学笔记~操作PLL

一 时钟缓冲器、管理和路由 垂直时钟中心&#xff08;clock backbone&#xff09;将设备分为相邻的左侧和右侧区域&#xff0c;水平中心线将设备分为顶部和底部两侧。clock backbone中的资源镜像到水平相邻区域的两侧&#xff0c;从而将某些时钟资源扩展到水平相邻区域。BUFG不…