操作系统:centos7.6

1、安装依赖

yum install gcc gcc-c++ zlib-devel pam-devel openssl-devel make vim wget -y

备份之前的ssh

mv /etc/ssh{,.bak}

2、openssl升级

openssh会依赖openssl,某些系统默认的openssl版本可能不满足openssh9.2,所以需要升级openssl。

查看openssl版本

openssl version

查看openssl命令的路径

which openssl

下载openssl软件包

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

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1n.tar.gz --no-check-certificate

perl升级

openssl会依赖perl,升级openssl过程中经常会先升级perl。

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

下载perl

wget https://www.cpan.org/src/5.0/perl-5.32.1.tar.gz ----no-check-certificate

解压

tar xzvf perl-5.36.0.tar.gz

创建安装目录

mkdir /usr/local/perl

配置及安装

点击查看代码
cd perl-5.36.0/
./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
# 编译安装
make && make install
# 备份老版本perl
mv /usr/bin/perl{,.bak}
# 将perl指向最新版
ln -s /usr/local/perl/bin/perl /usr/bin/perl

查看perl版本

openssl升级

解压openssl

tar xzvf openssl-3.0.8.tar.gz

编译安装

点击查看代码
cd openssl-3.0.8/
./config --prefix=/usr/local/openssl shared zlib
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1n (0x101010efL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile **********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
********************************************************************** # 编译安装
make && make install

备份当前openssl

mv /usr/lib64/openssl{,.bak}

mv /usr/bin/openssl{,.bak}

使用新版openssl

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

更新动态链接库数据

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

重新加载动态链接库

ldconfig -v

查看安装后版本

openssl version

如果出现



是由于openssl库的位置不正确造成的

执行如下操作

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

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

升级openssh

外网下载openssh安装包,下载后拷贝到需要升级的服务器上

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz

安装openssh

点击查看代码
tar xzvf openssh-9.2p1.tar.gz
cd openssh-9.2p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers #如果编译安装了openssl 需要选择相应的路径
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam \
--with-ssl-dir=/usr/local/openssl \
--with-md5-passwords \
--mandir=/usr/share/man \
--with-zlib --without-hardening #判断一下是否成功,如果返回零则继续
echo $? #安装
make && make install

修改sshd配置文件

vim /etc/ssh/sshd_config

PermitRootLogin yes

配置启动脚本

sudo cp /root/soft/openssh-9.2p1/contrib/redhat/sshd.init /etc/init.d/sshd

vim /etc/init.d/sshd

修改SSHD=/usr/local/openssh/sbin/sshd

替换执行命令,替换前可以对相关的几个文件进行单独备份

sudo cp -arp /usr/local/openssh/bin/* /usr/bin/

重启服务并配置自启

/etc/init.d/sshd restart

chkconfig sshd on

查看openssh版本号

ssh -V

Openssh升级到9.2版本的更多相关文章

  1. CentOS openssh升级到openssh-7.2版本

    查看现在的版本SSH -V 一.准备 备份ssh目录(重要) cp -rf /etc/ssh /etc/ssh.bak [ 可以现场处理的,不用设置 安装telnet,避免ssh升级出现问题,导致无法 ...

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

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

  3. 【原创】大叔问题定位分享(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 ...

  4. centos7生产环境下openssh升级

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

  5. Centos6.5 离线 Openssh 升级

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

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

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

  7. centos7 升级内核到最新版本

    centos7 从问世以来,官网提供的镜像始终是3.10 版本,该版本最大的一个问题是对硬件驱动(尤其是无线网卡)的支持不是很好,本人亲测>5种机型,无线网卡均无法正常使用,如果是非主流机型,手 ...

  8. Xcode 升级成Xcode 8 版本以后,出现 Signing for "sqlite3--test" requires a development team. 问题的解决

    升级xcode到8版本以后,工程文件会出现以下提示 解决办法就是,点击Team,添加自己的appid,然后选择自己的appid即可, 注意: 这里不需要开发者账号,自己的 apple id,就可以”:

  9. CMS .NET 程序框架 从2.0/3.5升级到4.0 版本后 需要调整的地方

    问题一: document.forms1.action 不可使用 需要修改程 document.forms[0] .NET 程序框架 从2.0/3.5升级到4.0 版本后,document.forms ...

  10. 无法升级数据库....因为此版本的 SQL Server 不支持该数据库的非发布版本(539) 解决方案

    使用SQL2012附加一个数据库时报出了以下错误:“无法升级数据库....因为此版本的 SQL Server 不支持该数据库的非发布版本(539).不能打开与此版本的 sqlserver.exe 不兼 ...

随机推荐

  1. Python博客导航

    第一部分 - Python程序设计基础 第一章 - Python介绍 1.1 - Python简介 1.2 - Python准备 1.2 - 创建虚拟环境 第二章 - Python基础(建设中) 2. ...

  2. DaemonSet方式部署nginx-ingress

    前言 nginx-ingress是k8s官方维护的一个Ingress Controller,具体使用,官方有详细的文档:https://kubernetes.github.io/ingress-ngi ...

  3. 动态代理-cglib分析

    生成代理类文件的方式 jvm添加此启动参数,后面就是代理类class生成的地址 -Dcglib.debugLocation=~/baldhead/java/dynamic-proxy-cglib/sr ...

  4. 用Java写一个分布式缓存——RESP服务端

    前言 本篇我们将完成一个RESP的socket的服务端,初步完成一个单机版缓存. 另外在其中我们还需要完成命令的动态路由 源码:https://github.com/weloe/Java-Distri ...

  5. springBoot简单记录日志

    记录日志的几种方法 springboot项目内置日志框架 在配置文件中添加以下配置: logging: file: name: "./log/xxx.log" pattern: f ...

  6. Djanngo-bbs项目

    1.项目开发基本流程 1.需求分析 2.架构设计 3.分组开发 4.提交测试 5.交付上线 2.项目流程 仿造博客园项目(核心:文章的增删改查) 1.表分析: 1.1用户表 1.2个人站点表 1.3文 ...

  7. JAVA虚拟机20-基于栈的解释器执行过程示例

    1.准备代码 public int calc() { int a = 100; int b = 200; int c = 300; return (a + b) * c; } 2.使用javap -v ...

  8. 2211-11Flask入门教程

    本篇记录来自Flask入门教程 准备工作 在通过这本书学习 Flask 开发前,我假设你已经了解了 Python 和 HTML 的基础知识.如果还没有,那么可以先从下面这些在线资源入手: <使用 ...

  9. rosdep update 一直失败问题

    1.排除网络问题 2.增加TIMEOUT的时间: 更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py.gbpdistro ...

  10. JZOJ 1083. 【GDOI2006】拯救亚特兰蒂斯

    \(\text{Solution}\) 自己的网络流技术太拉了 连这样的题都做不出来 对于一个怪物,剑术和法术两样东西有一样就可以了 不难想到二分图中最小点覆盖,一条边只有两个端点之一被选就被覆盖了 ...