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

news2024/9/21 3:48:54

 一、下载软件

  下载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


编译  执行./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

8.删除旧的软链接
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

9.创建新的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
 

which 

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

 ldconfig -v

验证是否成功安装

查看openssl版本

openssl version -a

用浏览器打开下载 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
./configure
make
make install

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.coloradmin.cn/o/2151030.html

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

相关文章

stm32f411ceu6芯片学习

首先找到对应芯片的数据手册,硬件电路设计参考的是Electrical characteristics这一节,芯片的每一个引脚都会有推荐的电路接线。 基本每个芯片,都可以在数据手册中找到厂家提供的参考电路图,这就是绘制芯片的原理图最基本的依据。 …

【小白向】Google Play日区如何支付?Google Play日区怎么转?Google Play日区账号支付教程

1.引言 在移动应用和游戏的世界里,Google Play(谷歌Play商店)日区一直是许多用户的向往之地。日本作为全球第三大应用市场,拥有大量优质且独特的应用和游戏。本教程将为你详细介绍如何在Google Play商店进行日区支付、Google Pla…

mat工具的几个实用地方

背景 使用mat的过程中,有几个值得关注的注意点,可以帮助我们尽快查找到问题的答案 mat实用的注意点 一.打开直方图后排序,直观查看内存占用大小,如下图所示 二.查看某个对象实例的具体值,点击对象,点击List Object…

mysql使用sql函数对json数组的处理

MySQL从5.7版本开始增加了对JSON数据类型的支持。你可以使用->>操作符和JSON_EXTRACT函数来访问JSON数据中的值。 但是,对于JSON数组,如果你想要获取数组中的所有元素,MySQL并没有直接的函数来返回数组中的所有元素作为单独的行。不过…

甲基化组学全流程分析(适用于27k的甲基化数据)

甲基化组学全流程分析(适用于27k的甲基化数据) 前面我已经讲过450k和870k EPIC的甲基化芯片的全流程分析教程,分析功能更为完善和强大,今天讲讲甲基化位点探针较少的27k甲基化芯片的分析流程。 我开发了一款本地电脑无限使用的零代码生信数据分析作软图…

不出海等于出局?

从2023年开始,“出海”已经成了很多企业的主题词。我以前做过一段时间的百度竞价工作,所以有个习惯,会比较关注友商网站上的一些动态信息。2023年开始,以前熟悉的一些公司,网站上都多了一个板块,就是“出海…

HTML常见语法设计

HTML常见语法设计 1.HTML类和ID类id 2.HTML 响应式 Web 设计3.HTML5 语义元素4.HTML 字符实体5.HTML 编码(字符集) 1.HTML类和ID 类 对 HTML 进行分类(设置类),使我们能够为元素的类定义 CSS 样式。为相同的类设置相…

鸿蒙Harmony-Next 徒手撸一个日历控件

本文将介绍如何使用鸿蒙Harmony-Next框架实现一个自定义的日历控件。我们将创建一个名为CalendarView的组件(注意,这里不能叫 Calendar因为系统的日历叫这个),它具有以下功能: 显示当前月份的日历支持选择日期显示农历日期可以切换上一月和下一月 组件…

9月18日国家网络安全通报中心发布的100个高危漏洞(下)

9月18日国家网络安全通报中心发布,公安机关网安部门从危害程度、广泛性、漏洞利用形式、利用难度、检测难度等维度,梳理出了100个突出的高危漏洞,目前这些漏洞是各个网络安全公司检测的重点,广大网络运营者应尽快对照排查自己的网…

火车站高铁站站点时刻查询网站计算机毕设/动车站点时刻查询

创建一个关于火车站高铁站站点时刻查询的毕业设计项目,是一个非常实际且具有挑战性的任务。这样的项目不仅能帮助学生综合运用所学知识,还能够为用户提供便捷的服务。下面将详细说明项目的各个方面: 1. 需求分析 用户需求&am…

代码随想录冲冲冲 Day51 图论Part3

101. 孤岛的总面积 dfs 首先dfs的作用就是在遇到陆地的时候找到所有的周围陆地 对于这道题的dfs 会把所有的链接边缘的陆地变成海洋 这样在全部调整之后 剩下的就是孤岛了 这道题中的dfs的结束条件就是遇到海洋时 遇到每一个陆地就会把面积1,在每一次重新找到…

(2)leetcode 234.回文链表 141.环形链表

234.回文链表 题目链接 234.回文链表 解题思路与代码 获取链表的中间段。 我们将mid这个节点记录下来,然后将这段链表反转,以下是反转的逻辑,最后我们将pre返回就是结果,就是通过中间变量tem记录位置从而实现链表的反转 最后结果…

LLM - 理解 多模态大语言模型(MLLM) 的 对齐微调(Alignment) 与相关技术 (五)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/142354652 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 完备(F…

vue scoped解析

不加scoped 加上scoped 从上面的图可以看出,给style加上scoped之后,会给这个模块的所有元素都加上一个自定义属性data-v-xxxx,这个xxxx就是这个文件的相对路径加上文件名生成的hash值,这样就能保证自定义属性独一无二 给所有元…

windows打开可选功能窗口的方式(呜呜设置里面找不到可选功能只能这样找了)

打开方式 winR打开运行窗口,输入fodhelper,按下回车键 即可快速打开可选功能窗口

手动部署并测试内网穿透

文章目录 手动部署并测试内网穿透1、原理2、下载 frp 文件3、配置对应的配置文件4、启动 frp 服务5、效果 手动部署并测试内网穿透 1、原理 原理就是让你需要访问的内网可以被其他内网访问到。 其实就是让内网经过一个公网服务器的转发,使得能够被访问。 这里我们需…

算法课习题汇总(2)

整数划分问题 将正整数n表示成一系列正整数之和&#xff0c;nn1n2…nk(n1>n2>…>nk,k>1)。正整数n的这种表示称为正整数n的划分。 思路&#xff1a; n表示待划分数&#xff0c;m表示最大减数。 #include<iostream> using namespace std;int q(int n, int…

MySQL:库表的基本操作

库操作 查看 查看存在哪些数据库&#xff1a; show databases;查看自己当前处于哪一个数据库&#xff1a; select database(); 由于我不处于任何一个数据库中&#xff0c;此处值为NULL 查看当前有哪些用户连接到了MySQL&#xff1a; show processlist; 创建 创建一个数据库 语…

【JAVA入门】Day48 - 线程池

【JAVA入门】Day48 - 线程池 文章目录 【JAVA入门】Day48 - 线程池一、线程池的主要核心原理二、自定义线程池三、线程池的大小 我们之前写的代码都是&#xff0c;用到线程的时候再创建&#xff0c;用完之后线程也就消失了&#xff0c;实际上这是不对的&#xff0c;它会浪费计算…

【源码+文档+调试讲解】健身房管理平台小程序

摘 要 随着健康意识的增强和移动互联网技术的普及&#xff0c;健身房管理平台小程序应运而生&#xff0c;为健身爱好者提供便捷的健身服务和管理。本设计针对传统健身房会员管理混乱、课程预约不便利、用户互动缺乏等问题&#xff0c;开发了一款集教练、预约教练、会员、健身…