1、基础安装包准备  PS:最好先下载 telnet 服务端并启动,以免 sshd 服务启动失败后无法登录

官方网站下载最新版*.tar.gz安装包:

官方下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

openssh-9.0p1.tar.gz (注意:要下载p1版,此版为编译安装包)

官方下载地址:https://www.openssl.org/source/

openssl-3.0.3.tar.gz

官方下载地址: http://www.zlib.net/

zlib-1.2.12.tar.gz

官方下载地址: https://www.perl.org/get.html

perl-5.36.0.tar.gz

2、系统环境
查看openssl版本(可以看到版本信息和安装位置)

openssl version -a

3、上传安装包

4、编译安装 zlib

  安装编译所需依赖包

  # yum -y install make gcc gcc-c++

# tar xf zlib-1.2.13.tar.gz
# cd zlib-1.2.13
# ./configure --prefix=/usr/local/zlib # make && make install # echo '/usr/local/zlib/lib' >> /etc/ld.so.conf
# ldconfig -v

5、编译安装 openssl

  1)安装 perl

# tar xf perl-5.36.0.tar.gz
# cd perl-5.36.0
# ./Configure -des -Dprefix=/usr/local/perl5
# make && make install

  2)安装 perl-CPAN

# yum install -y perl-CPAN
# perl -MCPAN -e shell cpan[1]> install IPC/Cmd.pm cpan[2]> exit

  3)编译安装 openssl

# tar xf openssl-3.0.5.tar.gz
# cd openssl-3.0.5
# ./config --prefix=/usr/local/openssl # make && make install

备份原先可执行文件
# mv /usr/bin/openssl /usr/bin/openssl.old && mv /usr/include/openssl /usr/include/openssl.old

# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
# echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
# ldconfig -v # openssl version
OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022)

6、安装 openssh

  1)编译安装包

# tar xf openssh-9.0p1.tar.gz
# cd openssh-9.0p1
# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl # make && make install

  2)sshd_config 配置文件修改

# 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

  3)备份原有文件,复制新的配置到目录下

# cp /etc/ssh/sshd_config{,.bak}
# cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config # mv /usr/sbin/sshd /usr/sbin/sshd.bak
# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd # mv /usr/bin/ssh /usr/bin/ssh.bak
# cp /usr/local/openssh/bin/ssh /usr/bin/ssh # mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
# cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen # mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
# cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

  4)设置开机自启动

openssh-9.0p1]# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# chkconfig sshd on 重启服务
# systemctl restart sshd.service 这里有个问题,重启得时候发现卡住了 没有返回输出
修改 sshd.service 文件 # systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: activating (start) since 一 2022-10-31 16:02:07 CST; 1min 20s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 147161 (sshd)
CGroup: /system.slice/sshd.service
└─147161 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups 10月 31 16:02:07 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
10月 31 16:02:07 localhost.localdomain sshd[147161]: Server listening on 0.0.0.0 port 22.
10月 31 16:02:07 localhost.localdomain sshd[147161]: Server listening on :: port 22. 修改 sshd.service 配置文件中得Type,将 Type=notify注释掉,或者修改为 Type=simple

  再次重新启动

# systemctl daemon-reload
# systemctl restart sshd.service
# systemctl enable sshd.service

启动正常,查看 ssh 版本

openssh 升级的更多相关文章

  1. 【原创】大叔问题定位分享(28)openssh升级到7.4之后ssh跳转异常

    服务器集群之间忽然ssh跳转不通 # ssh 192.168.0.1The authenticity of host '192.168.0.1 (192.168.0.1)' can't be esta ...

  2. Centos 6.x Openssh 升级 7.7p1 版本

    OpenSSH 升级 目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的. 然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度.WAF.防火墙等各种. 评测公司对我司 ...

  3. Centos6.5 离线 Openssh 升级

    目录 OpenSSH 升级 一.基于 Dropbear 设置备用 ssh 服务器 二. Openssh 更新 2.1 ssh配置 备份 2.2 openssh 升级 Openssl 升级(由于Open ...

  4. 记录openssl和openssh升级中遇到的问题以及解决方法

    本文档讲述的升级操作是基于操作系统centos6.5,使用的openssl版本是openssl-1.0.2l.tar.gz,openssh版本是openssh-7.6p1.tar.gz. 1. 依赖检 ...

  5. ubuntu下openssh升级

    因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版 这里选择编译安装 去官网下载: openssl-1.0.2o.tar.gz openssh7.7.1 zlib-1.2.1 ...

  6. openssh升级,打补丁

    以Root用户上传升级包至/home/dou/system openssh-7.5p1.tar.gz openssl-1.0.2l.tar.gz zlib-1.2.11.tar.gz l  安装所需包 ...

  7. centos7生产环境下openssh升级

    由于生产环境ssh版本太低,导致使用安全软件扫描时提示系统处于异常不安全的状态,主要原因是ssh漏洞.推荐通过升级ssh版本修复漏洞 因为是生产环境,所以有很多问题需要注意.为了保险起见,在生产环境下 ...

  8. openssh升级到openssh-7.5p1踩坑

    环境:ubuntu 需要的安装包: http://zlib.net/   zlib 1.2.11最新版 http://www.linux-pam.org/library/   pam 1.3.0 ht ...

  9. CentOS 6.4下OpenSSH升级到6.7操作

    一.升级前准备 1.下载openssh-6.7p1.tar.gz: cd /usr/local/src/wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/ ...

  10. openssh升级

    转载:(感谢作者) centos7 升级openssh到openssh-8.0p1版本 https://www.cnblogs.com/nmap/p/10779658.html centos 7 op ...

随机推荐

  1. bitlocker加密如何找密钥解锁

    步骤1:在其他设备上登录[微软账号],地址:https://account.microsoft.com 步骤2:找到[自己的设备],查看[Bitlocker]密钥登录进去能看到[设备],找要解锁的那台 ...

  2. MongoDB从入门到实战之Docker快速安装MongoDB

    前言 在上一篇文章中带领带同学们快速入门MongoDB这个文档型的NoSQL数据库,让大家快速的了解了MongoDB的基本概念.这一章开始我们就开始实战篇教程,为了快速把MongoDB使用起来我将会把 ...

  3. python里面一些零碎知识点

    1. Python中反斜杠可以用在一行结尾做续行符使用. 2. pytorch中,一般来说如果对tensor的一个函数后加上了下划线,则表明这是一个in-place类型.in-place类型是指,当在 ...

  4. [常用工具] live555的搭建

    live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.使用live555可以播放rtsp流.本文主要是在linux ...

  5. 更改json节点key

    json节点key更改,给朋友写的小tool,顺便记录一下 单个指定 每一个需要修改的key,都需要指定 /** * 需要转义的key对象 * 原key: 新key */ const jsonKeys ...

  6. python之路43 JavaScript语法BOM与DOM jQuery对比 标签绑定事件

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  7. MAC上好用的解压工具

    macOS:11.1 想在 macOS 上打开一个压缩文件,有原生的归档实用工具或 BetterZip.Keka.The Unarchiver 等诸多选择.最近,又有国内独立开发者为我们带来了一款新作 ...

  8. 關於ctype.h頭文件的一些函數

  9. Xmake v2.7.6 发布,新增 Verilog 和 C++ Modules 分发支持

    Xmake 是一个基于 Lua 的轻量级跨平台构建工具. 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时. 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLis ...

  10. 行为型模式 - 迭代器模式iterator

    模式的定义与特点 迭代器模式(iterator Pattern),为的提是可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象.多个对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对 ...