当前位置: 首页 > news >正文

centos7.9升级ssh和openssl

一、环境

[root@tmp179 package]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
[root@tmp179 package]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

二、 升级前准备

mkdir /opt/package
cd /opt/package
wget https://www.openssl.org/source/openssl-3.1.5.tar.gz --no-check-certificate
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz --no-check-certificateyum -y install gcc gcc-c++ openssl-devel libstdc++* libcap* pam-devel zlib-devel perl perl-IPC-Cmd

三、升级openssl

mv /usr/lib64/openssl /usr/lib64/openssl.old
yum remove openssl     #注意输入y或者直接加-y参数再执行
tar -zxf openssl-3.1.5.tar.gz
cd /opt/package/openssl-3.1.5
./config --prefix=/usr
make && make install   #顺利的话10分钟左右,可能需要20分钟
which openssl          #查看升级后的Openssl路径
openssl version        #确认升级是否成功,成功的话能显示版本号OpenSSL 3.1.5 30 Jan 2024 (Library: OpenSSL 3.1.5 30 Jan 2024)

四、升级openssh

cd /opt/package
tar -zxf openssh-9.6p1.tar.gz
rpm -qa | grep -E  "zlib-devel|openssl-devel|gcc"       #需要有这些组件
mkdir /etc/ssh.bak
mv /etc/ssh/ /etc/ssh.bak/
cd /opt/package/openssh-9.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-md5-passwords
make && make install
cp /opt/package/openssh-9.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
cp /etc/ssh/sshd_config{,.bak}
sed -i 's/^PermitRootLogin/#&/' /etc/ssh/sshd_config
sed -i '32i PermitRootLogin yes' /etc/ssh/sshd_config
chkconfig --add sshd
systemctl daemon-reload
systemctl restart sshd                  #远程连接会断开。
ssh -V                                  #重新打开个远程连接窗口,并执行。会看到新版本OpenSSH_9.6p1, OpenSSL 3.1.5 30 Jan 2024

-------ok------2024年3月9日18:11:09----------------------

相关文章:

  • 设计模式学习笔记 - 规范与重构 - 2.保证重构不出错的技术手段
  • 探讨系统测试的最佳实践与思维模式!
  • Java8 CompletableFuture异步编程-进阶篇
  • 300分钟吃透分布式缓存-24讲:Redis崩溃后,如何进行数据恢复的?
  • Django学习笔记
  • ULTRAL SCALE FPGA TRANSCEIVER速率
  • python使用multiprocessing
  • Spring学习 基础(三)MVC
  • 2024/3/10周报
  • 如何清除keep-alive缓存
  • mongodb的备份与恢复
  • C#与欧姆龙PLC实现CIP通讯
  • Draco点云压缩测试
  • scikit-learn保姆级入门教程
  • Qt 定时器事件
  • __proto__ 和 prototype的关系
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【技术性】Search知识
  • 【刷算法】从上往下打印二叉树
  • create-react-app做的留言板
  • C学习-枚举(九)
  • JS基础之数据类型、对象、原型、原型链、继承
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • linux学习笔记
  • Python爬虫--- 1.3 BS4库的解析器
  • React中的“虫洞”——Context
  • underscore源码剖析之整体架构
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从0到1:PostCSS 插件开发最佳实践
  • 多线程 start 和 run 方法到底有什么区别?
  • 浏览器缓存机制分析
  • 前端学习笔记之观察者模式
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 以太坊客户端Geth命令参数详解
  • 7行Python代码的人脸识别
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (定时器/计数器)中断系统(详解与使用)
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • .jks文件(JAVA KeyStore)
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core 中插件式开发实现
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .Net面试题4
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET项目中存在多个web.config文件时的加载顺序