linux系统将OpenSSH升级到最高版本

news2024/11/17 19:47:25

一、背景:

公司安全扫描到主机的OpenSSH安全漏洞,由于是虚拟机只能由自己修复,很多OpenSSH的漏洞厂商都没有提供补丁,只能通过禁用scp或者端口的方式临时解决,但是后面使用就不方便了,而且也不安全,所以直接将OpenSSH升级到现在的最高版本openssh-9.3p2,ssl升级到1.1.1。

 二、准备工作:

升级OpenSSH是有风险的,失败会导致不能通过SSH连接到主机,所以最好先按照telnet的相关工具,通过telnet连接主机进行SSH升级操作,因为此次操作的是虚拟机,跟公司的机房老师沟通,即使升级失败,他们也是可以连接上主机的,所有我就没再按照telnet的相关组件,直接通过SSH连接到主机进行的升级。升级前可以先看下报错处理章节,方便安装过程中有问题解决。

升级SSH需要先查看gcc、pcre、zlib  perl是否安装使用以下命令可以查看:

gcc --version、rpm -qa pcre、yum list installed | grep zlib*、perl -version。查看SSH版本 ssh -V, 查看ssl版本openssl version

 

gcc包没有的请参考这篇文章:https://blog.51cto.com/u_15064655/4818120

perl没有的:

下载地址:https://www.cpan.org/src/5.0/perl-5.34.0.tar.gz,将包上传到服务器上,然后执行一下命令:

tar -xzf perl-5.34.0.tar.gz

 cd perl-5.34.0

./Configure -des -Dprefix=$HOME/localperl

make 

make test 

make install

注意:

1、通过SSH连接主机升级时,不要关闭SSH连接,再升级过程中关闭了以后可能就连不上了;

2、SSH升级依赖于SSL,对SSL的版本有要求,要先按照SSL再按照SSH;

三、开始安装:

1、下载openssl、openssh、zlib包

下载openssl
https://www.openssl.org/source/openssl-1.1.1t.tar.gz
下载openssh
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
下载zlib
http://www.zlib.net/zlib-1.2.13.tar.gz

按照顺序是zlib库-> openssl -> openssh的顺序安装;

2、安装zlib

tar -zxvf zlib-1.2.13.tar.gz   -C /usr/local/src

cd zlib-1.2.13
./configure --prefix=/usr/local/zlib &&?make?-j 4?&&?make?install


3、安装ssl

tar -zxvf openssl-1.1.1t.tar.gz -C /usr/local/src/
cd /usr/local/src/openssl-1.1.1t

./config --prefix=/usr/local/ssl -d shared  #编译时可能会报错,请看错误模块

make -j 4 && make install

 echo '/usr/local/ssl/lib' >> /etc/ld.so.conf

ldconfig -v

/usr/local/ssl/bin/openssl version -a # 查询这个目录下openssl版本已是1.1.1p

4、安装ssh

tar -zxvf openssh-9.3p1.tar.gz -C /usr/local/src/

先备份:mv /etc/ssh /etc/ssh.bak
cd  /usr/local/src/openssh-9.3p2

#指定ssl和zlib安装位置
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib

make -j 4 && make install

#修改配置文件sshd_config文件修改

echo "X11Forwarding yes" >> /etc/ssh/sshd_config
echo "X11UseLocalhost no" >> /etc/ssh/sshd_config                
echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config
echo "UseDNS no" >> /etc/ssh/sshd_config
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

#备份 /etc/ssh 原有文件,并将新的配置复制到指定目录

mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh 
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

安装完成,查看版本ssh -V

5、重启sshd服务

systemctl restart sshd

systemctl status sshd

四、报错处理:

1、执行ssl的./config --prefix=/usr/local/ssl -d shared编译时报错:

Operating system: x86_64-whatever-linux2 You need Perl 5.

你需要安装perl-5.34.0.tar.gz

下载https://www.cpan.org/src/5.0/perl-5.34.0.tar.gz

tar -xzf perl-5.34.0.tar.gz
 cd perl-5.34.0
./Configure -des -Dprefix=$HOME/localperl
make 
make test 
make install

2、ssl 执行  make -j 4 && make install报错
sh: pod2html: command not found
没找到原因,但是暂时没找到有什么影响,测试ssl是正常的。

3、重启ssh服务报错:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.        

使用/usr/sbin/sshd -T查看
是/etc/ssh/ssh_host_ed25519_key这个文件的权限太大了,去所在目录下执行 chmod 600 ssh_host_ed25519_key 命令修改文件权限,重启可能还报错,再用-T看下,还有其他的文件权限太大。
chmod 600 ssh_host_rsa_key、chmod 600 ssh_host_ecdsa_key、 chmod 600 ssh_host_ed25519_key基本上这三个。

4、重启报错:Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details. 

用sshd -t看到报错信息为

/etc/ssh/sshd_config line 80: Unsupported option GSSAPICleanupCredentials

/etc/ssh/sshd_config line 96: Unsupported option UsePAM

vi /etc/ssh/sshd_config
把#GSSAPIAuthentication yes  、#GSSAPICleanupCredentials no  把这两个禁掉
#UsePAM no也禁掉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/803316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统挂载Windows的共享文件夹

1) 首先点击共享的文件夹 C:\data\ 右键----属性—共享 首先创建挂载目录 /data mkdir /data/ 安装mount.cifs软件包 yum install cifs-utils -y 开始挂载 mount.cifs //192.168.132.142/data /data/ -o userzhaozhengweir,pass123456

[玩转AIGC]sentencepiece训练一个Tokenizer(标记器)

目录 一、前言二、安装三、自己训练一个tokenizer四、模型运行五、拓展 一、前言 前面我们介绍了一种字符编码方式【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 这种方式是对一个一个字符编码,丢失了很多信息比如“机器学习…

Flutter:滑动面板

前言 无意中发现了这个库,发现现在很多app中都有类似的功能。以手机b站为例,当你在看视频时,点击评论,视频会向上偏移,下方划出评论界面。 sliding_up_panel SlidingUpPanel是一个Flutter插件,用于创建滑…

从Vue 2到Vue 3:深入了解路由配置的变化与升级建议

🎬 岸边的风:个人主页 🔥 个人专栏:《 VUE 》 《 javaScript 》 ⛺️生活的理想,就是为了理想的生活! 目录 📘 前言 vue2路由配置 📟 一、控制台安装vue路由 📟 二、项目src文件夹下创建r…

kubernetes搭建GitLab并提供本地域名服务及业务微服务接口集成GitLab

目录 搭建GitLab服务镜像准备数据卷脚本部署脚本服务脚本路由脚本登录及配置 GitLab接口及业务微服务上传代码GitLab接口注意事项业务微服务上传代码注意事项 搭建GitLab服务 业务管理平台需要将本地的代码上传并进行版本管理,选择搭建gitlab私服较为合理&#xff0…

windows 删除无法删除的文件

有两种原因: 文件被占用文件无权限 解决方案 通用解决方案是进入安全模式进行删除 安全模式: 不会启动非必要的进程有最高的系统权限 进入系统配置 安全引导,重启 删除文件 修改系统配置为正常启动 重启

Springer独立出版 | 2023年触觉与虚拟现实国际会议(ICHVR 2023)

会议简介 Brief Introduction 2023年触觉与虚拟现实国际会议(ICHVR 2023) 会议时间:2023年12月15日-17日 召开地点:中国北海 大会官网:www.ichvr.org 2023年触觉与虚拟现实国际会议(ICHVR 2023)由东南大学、上海交通大学联合主办;…

Mybatis 新增/批量新增, 拿到返回的自增主键ID

单个新增 &#xff1a; /** * 插入菜单 * param menuInfo * return */ int insertMenuInfo(MenuInfo menuInfo); xml&#xff1a; <insert id"insertMenuInfo" parameterType"com.XXXX..MenuInfo" keyProperty"id&quo…

MyBatis 快速入门【下】

&#x1f600;前言 本篇博文是一些功能的实现和实现日志输出&#xff0c;希望能够帮到你&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是…

SpringBoot 对接微信公众号模板消息通知

效果图见测试结果&#xff0c;有问题评论 模板消息 开通模板消息功能 登录微信公众平台开通模板消息功能 (未开通时) 添加模板消息 审核通过后&#xff0c;登录微信公众平台&#xff0c;点击 广告与服务 --> 模板消息公众号如果未设置服务类目&#xff0c;则需要先设置服…

安卓抓包神奇黄鸟HttpCanary安装配置及使用教程

1、下载安装包 黄鸟抓包下载地址 2、安装下载的apk 3、证书安装问题 vivo手机我安装时打开黄鸟app&#xff0c;会直接弹出&#xff0c;直接安装即可 其他手机&#xff0c;需要去系统设置中安装 3.1 搜索 证书&#xff0c;选择CA证书 3.2 进行本人操作验证 3.3 安装HttpCa…

MySQL InnoDB死锁原因及改善建议(InnoDB Deadlocks)

死锁是事务型数据库中一种现象&#xff0c;为了在高并发环境下不出错&#xff0c;数据库引入了"锁"这一数据结构来控制资源的并发访问&#xff0c;但也会导致死锁。 目录 一、死锁概念 1.1 死锁的原因 1.2 死锁监测 二、死锁演示 2.1 死锁生成过程 2.2 死锁信息查看 …

cnvd水证书

日常水个证书 本人比较菜&#xff0c;挖cnvd总是挖不倒漏洞&#xff0c;只能从弱口令入手了&#xff0c;一般使用fofa脚本批量跑。 过程&#xff1a; 日常在佛法中我们总是会遇见设备弱口或系统弱口令 一般是看登录成功的特征和口令&#xff0c;写一个对应的弱口令检测脚本…

OceanMind海睿思获评中国信通院“内审数字化产品评测”卓越级(最高级)!

2023年7月27日&#xff0c;由中国内部审计协会、中国通信标准化协会指导&#xff0c;中国信息通信研究院主办的第二届数字化审计论坛在北京成功召开。 大会聚焦内部审计数字化领域先进实践、研究成果、行业发展举措&#xff0c;重磅发布了多项内部审计数字化领域的最新研究和实…

基于扩展(EKF)和无迹卡尔曼滤波(UKF)的电力系统动态状态估计(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

我的MacBook Pro:维护心得与实用技巧

文章目录 我的MacBook Pro&#xff1a;维护心得与实用技巧工作电脑概况&#xff1a;MacBook Pro 2019款 16 寸日常维护措施个人维护技巧其他建议 我的MacBook Pro&#xff1a;维护心得与实用技巧 无论是学习还是工作&#xff0c;电脑都是IT人必不可少的重要武器。一台好电脑除…

优化基于tcp,socket的ftp文件传输程序

原始程序&#xff1a; template_ftp_server_old.py&#xff1a; import socket import json import struct import os import time import pymysql.cursorssoc socket.socket(socket.AF_INET, socket.SOCK_STREAM) HOST 192.168.31.111 PORT 4101 soc.bind((HOST,PORT)) p…

03-树1 树的同构(c++)

03-树1 树的同构 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2&#xff0c;则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的&#xff0c;因为我们把其中一棵树的结点A、B、G的左右孩子互换后&#xff0c;就得到另外一棵树。而图2就不是同构的。 现…

[Linux]线程基本知识

概念 进程 一个正在执行的程序&#xff0c;它是资源分配的最小单位 进程中的事情需要按照一定的顺序逐个进行 进程出现了很多弊端: 一是由于进程是资源拥有者&#xff0c;创建、撤消与切换存在较大的时空开销&#xff0c;因此需要引入轻型进程&#xff1b; 二是由于对称多…

USB3.0之设备检测

1 USB超速SerDes原理介绍 1.1 SerDes Rx.Detect SerDes Rx.Detect的原理比较简单&#xff0c;就是通过一个逻辑电路比较RC时间常数的大小。 当Rx不存在时&#xff0c;RC时间常数较小。当Rx存在时&#xff0c;RC时间常数较大。 下面将详细描述其原理。 Figure 1-1 USB 3.0电缆 …