操作系统: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. 【力扣】nSum问题模板

    nSum问题模板 两数之和.三数之和.四数之和. private List<List<Integer>> nSum(int[] nums, long target, int s ...

  2. Ubuntu 安装 SSH

    sudo apt install openssh-server sudo systemctl status ssh sudo ufw allow ssh

  3. C++Day09 深拷贝、写时复制(cow)、短字符串优化

    一.std::string 的底层实现 1.深拷贝 1 class String{ 2 public: 3 String(const String &rhs):m_pstr(new char[ ...

  4. springboot项目中swagger配置

    1.导入依赖 查看代码 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId> ...

  5. 如何在WSL下交叉编译openwrt

    首先我们需要准备一个大小写敏感的文件夹. 然后拉取代码,并且执行代码的先决条件脚本. 注意,如果过程中某项条件不符,你可能要临时修复. 假如下图的组件判定失败(即出现ok=>fail) 那么你就 ...

  6. 线程基础知识10-volatile

    1 简介 Volatile保证了可见性和有序性,没有保证原子性. 1.1 保证可见性简介 可见性就是指当一个线程修改了共享变量的值时,其他线程能够立即得知这个修改.volatile变量做到了这一点. ...

  7. ACID和CAP的比较

    https://www.jdon.com/artichect/acid-cap.html 1 简介 事务机制ACID和CAP理论是数据管理和分布式系统中两个重要的概念,很不巧,这两个概念中都有相同的& ...

  8. 学习Java Day10

    今天学习了数组的相关知识

  9. 继承与多态 动手动脑3方法覆盖(override)”的要点

    方法覆盖(override)"的要点 方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)! 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 以下子类 ...

  10. 【白话科普】聊聊网络架构变革的关键——SDN

    最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点. 好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么. 原来,SD ...