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

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


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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 安卓13设置动态显示隐藏第一页的某一项 动态显示隐藏无障碍 android13设置动态显示隐藏第一页的某一项
  • 4款音频转文字在线转换工具帮你解锁新的记录模式。
  • RabbitMQ 高级特性——发送方确认
  • 力扣239 滑动窗口最大值 Java版本
  • C++ 新特性
  • Ceph官方文档_02_Ceph初学者指南
  • 基于php的小说阅读系统
  • docker安装及使用
  • CS61B学习 part1
  • Python Web 中间件开发与优化指南
  • 使用sqoop报错
  • JavaScript可视化
  • Hive企业级调优[3]—— Explain 查看执行计划
  • Linux(ubuntu)(文件IO——fopen)
  • 多层感知机paddle
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • angular2开源库收集
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • gops —— Go 程序诊断分析工具
  • HTML中设置input等文本框为不可操作
  • JavaScript DOM 10 - 滚动
  • JS基础之数据类型、对象、原型、原型链、继承
  • Js基础知识(一) - 变量
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • VuePress 静态网站生成
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 关于Flux,Vuex,Redux的思考
  • 机器学习学习笔记一
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊聊flink的BlobWriter
  • 如何学习JavaEE,项目又该如何做?
  • 入门级的git使用指北
  • 追踪解析 FutureTask 源码
  • ionic异常记录
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #include到底该写在哪
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (生成器)yield与(迭代器)generator
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)UDP基本编程步骤
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .Net 代码性能 - (1)
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护