Openssh升级方法

news2024/11/17 13:34:32

文章目录

  • Openssh升级方法
    • 一.安装openssh模拟未升级版本
    • 二.查看当前的ssh服务版本
  • 三.启动telnet、安装rzsz工具、创建普通账号,防止因为卸载openssh而导致无法登录主机
  • 四.卸载openssh的rpm安装包(备注:此处未卸载ssl安装包);
  • 五.升级openssh
    • 1.源码安装openssh
    • 2.源码安装openssh
    • 3.修改相关配置文件
    • 4.再次查看sshd服务的版本
    • 4.再次查看sshd服务的版本

Openssh升级方法

场景介绍:

项目组linux服务器被绿盟扫描出openssh 5.3版本有漏洞,需要升级到7.5版本,以下是升级过程:

一.安装openssh模拟未升级版本

使用:https://www.openssl.org/source/openssl-1.1.1h.tar.gz下载未升级版本的1.1.1版本

将openssl-1.1.1h.tar.gz拖入到opt目录下

#解压
tar zxvf openssl-1.1.1h.tar.gz
#编译安装
cd openssl-1.1.1h/
#创建openssl目录
mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl
make && make install
#查看安装文件
which openssl
/usr/bin/openssl
#安装openssh
yum install openssh-server -y

二.查看当前的ssh服务版本

#查看现有版本
ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

检测之前安装的包(openssl和openssh都要更新,openssh依赖于openssl)

rpm -qa | grep openssl
xmlsec1-openssl-1.2.20-5.el7.x86_64
openssl-1.0.2k-8.el7.x86_64
openssl-libs-1.0.2k-8.el7.x86_64
rpm -qa | grep openssh
openssh-7.4p1-22.el7_9.x86_64
openssh-server-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64

三.启动telnet、安装rzsz工具、创建普通账号,防止因为卸载openssh而导致无法登录主机

yum install telnet telnet-server -y
yum install lrzsz -y
useradd beiqing
passwd beiqing 

四.卸载openssh的rpm安装包(备注:此处未卸载ssl安装包);

rpm -e rpm -qa | grep openssh

五.升级openssh

1.源码安装openssh

在官网上下载https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

openssh-7.5p1.tar.gz 安装包 拖入到opt下

#解压安装包
tar zxvf openssh-7.5p1.tar.gz

2.源码安装openssh

cd openssh-7.5p1/
./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=/usr/local/zlib

此处执行到最后经常会报错,如openssl-devel等各种rpm包没有安装,并且安装包之间都有相互依赖和冲突,依次安装即可,主要是检查rpm下列包是否安装:

keyutils-libs-devel-1.4-4.el6.x86_64.rpm

krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm

libcom_err-devel-1.41.12-18.el6.x86_64.rpm

libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm

libsepol-devel-2.0.41-4.el6.x86_64.rpm

openssl-1.0.1e-15.el6.x86_64.rpm

pam-devel

openssl-devel-1.0.1e-15.el6.x86_64.rpm

pkgconfig-0.23-9.1.el6.x86_64.rpm

vsftpd-3.0.2-9.el7.x86_64.rpm

zlib-devel-1.2.3-29.el6.x86_64.rpm

yum install keyutils-libs rpm-build -y
yum install krb5-devel
yum install libcom_err-devel.i686 -y
yum -y install libselinux-devel.i686 
yum -y install pam-devel.x86_64 
yum -y install openssl-devel.x86_64
yum -y install pkgconfig.i686 
yum -y install vsftpd.x86_64
yum -y install zlib-devel.i686
#rpm安装完整后,再重新编译
cd openssh-7.5p1/
./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=/usr/local/zlib

如有openssl报错未发现则安装

yum install openssl-devel.i686
make && make install

3.修改相关配置文件

#备注:此处contrib路径为解压后的安装包路径,比如:/opt/openssh-7.5p1/contrib
cp -p /opt/openssh-7.5p1/contrib/redhat/sshd.init  /etc/init.d/sshd
#给用户增加执行权限
chmod u+x /etc/init.d/sshd
vim /etc/ssh/sshd_config
#把文件中的下列内容修改为下列状态:
#UsePAM no
PasswordAuthentication yes
PermitEmptyPasswords no
HostbasedAuthentication no
IgnoreRhosts yes
PermitRootLogin no

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#把sshd添加到系统服务中
chkconfig --add sshd
#添加到可执行文件
cp /usr/local/sbin/sshd /usr/sbin/sshd
#启动sshd服务
systemctl restart sshd

4.再次查看sshd服务的版本

ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2k-fips  26 Jan 2017
sshd
#添加到可执行文件
cp /usr/local/sbin/sshd /usr/sbin/sshd
#启动sshd服务
systemctl restart sshd

4.再次查看sshd服务的版本

ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2k-fips  26 Jan 2017

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

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

相关文章

【WebGIS初学到入职】(15)入职一年的总结与分享

题外话 看看大纲可以怎么写,问问ChatGPT: ……算了,还是随便写写吧。 所以时间过得也是有够快的,这就一年了。 平淡 入职一年,已经看到好些位女同事结婚了(男同事一个没有)。领导和同事都挺…

汽车网站建设:开启汽车行业数字化转型的大门

随着科技的进步和互联网的普及,越来越多的汽车企业开始意识到一个强大的在线存在的重要性。汽车网站的兴起为汽车行业带来了新的机遇和好处。本文将简要介绍什么是汽车网站,探讨汽车网站的好处,并提供一些快速制作搭建汽车网站的方法。 汽车网…

@JsonFormat(pattern = “yyyy-MM-dd“, timezone = “GMT+8“) 日期格式

前端去掉时分秒 : /*** 出生日期*/ JsonFormat(pattern "yyyy-MM-dd", timezone "GMT8")// 解决后端到前端显示问题 DateTimeFormat(pattern "yyyy-MM-dd")// 解决前端到后端保存问题 TableField(value "birthday") A…

Django_静态资源配置和ajax(九)

目录 一、静态资源配置 二、AJAX ajax作用 使用ajax 1、环境配置 2、创建html模板文件 3、编写视图函数并添加路由 4、运行django开发服务器进行验证 源码等资料获取方法 一、静态资源配置 静态资源的相关配置都在项目目录下的 settings.py 文件中进行配置。配置参数如…

架构训练营笔记系列: 模块 1-2课

郭东白老师的架构课偏理论,属于道层级。李云华老师的课偏实践,属于术层级。没有理论不会举一反三,只有理论,就是纸上谈兵,两个课都很好。 架构与程序思维的区别 程序 逻辑实现 架构 判断 取舍 架构设计的关键不只…

ansible 报错 DEPRECATION WARNING 解决

报错信息 [DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host 192.168.1.1 should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered …

第五十二章 开发Productions - ObjectScript Productions - 不常见的任务 - 在目标是动态的情况下渲染连接

文章目录 第五十二章 开发Productions - ObjectScript Productions - 不常见的任务 - 在目标是动态的情况下渲染连接在目标是动态的情况下渲染连接使用 Ens.Director 开始和停止ProductionStopProduction()StartProduction()RecoverProduction()GetProductionStatus() 第五十二…

基于Pthreads多线程程序设计

“Hello world”程序 函数原型 1. pthread_create 函数原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 功能说明:创建一个线程。 参数说明 thread:线程句柄&#xf…

Pico版节奏光剑简单制作

视频教程参考:Pico VR Neo3开发实战教程(1)——节奏光剑,舞台灯效_哔哩哔哩_bilibili 1、新建项目和pico配置 插件导入 找到下载的pico SDK 选择json文件,点击即可导入 启用插件 在 Project Settings 窗口中&#xf…

Gradle的生命周期和Task

Gradle生命周期和Task 本文链接:Gradle的生命周期和Task_猎羽的博客-CSDN博客 Gradle生命周期 三大阶段: 初始化配置执行 Gradle的数量是多少?Module数量 Root Gradle 生命周期监听方法 生命周期监听的设置有两种方法: 实现…

Modelsim仿真问题解疑:初始时间段内逻辑不符

目录 一、问题描述 1.1 设计代码 1.2 综合结果 1.3 仿真结果 二、问题原因 三、解决方法 一、问题描述 在使用mode​lsim进行功能仿真时,会遇到如下情况,仿真结果在前面一段时间内的逻辑输出不符预期,后面的结果符合预期 以实现一个D触发…

火车头小发猫AI伪原创[php源码]

对于大多数站长来说&#xff0c;有点困难&#xff0c;但是如果他们不知道如何原创&#xff0c;我们不知道如何伪原创吗&#xff1f;我把我常用的伪原创的方法列出来&#xff0c;希望对大家有所帮助。 使用教程&#xff1a;火车头采集器AI伪原创 <?php header("Conte…

使用配置文件自定义线程池参数

首先创建线程池MyThreadConfig &#xff1a; Configuration public class MyThreadConfig {Beanpublic ThreadPoolExecutor threadPoolExecutor(){return new ThreadPoolExecutor(20,200,10,TimeUnit.SECONDS,new LinkedBlockingDeque<>(100000),Executors.defaultThrea…

SpringBoot集成Quartz集群模式

<!-- quartz定时任务 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency> 单机版本&#xff1a; SpringBoot集成Quartz动态定时任务_jobgroupname_小…

CentOS环境下的Nginx安装

Nginx 安装 下载 nginx 下载地址&#xff1a;http://nginx.org/en/download.html 将下载好的压缩包拷贝到根目录下 通过xshell如果出现 bash: rz: 未找到命令 &#xff0c;需要先运行下面的命令 yum -y install lrzsz安装 解压到当前目录 tar -zxvf nginx-1.22.1.tar.gz安…

尚无忧餐桌预订订桌包厢预订小程序源码

1.支持中餐、晚餐不同时间段桌位预定 2.支持包厢&#xff0c;大厅等不同区域预定 本系统后台tpvue 前端原生小程序 <!-- 导航栏 --> <!-- <van-nav-bar title"{{canteen}}" title-class"navbar" /> --> <van-nav-bar title"…

路径规划算法:基于水基湍流优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于水基湍流优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于水基湍流优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化…

springbboot拦截器,过滤器,监听器及执行流程

执行流程 过滤器是在请求进入容器后&#xff0c;但请求进入servlet之前进行预处理的。请求结束返回也是&#xff0c;是在servlet处理完后&#xff0c;返回给前端之前 请求按照上图进入conteoller后执行完再返回 过滤器&#xff08;Filter&#xff09;&#xff1a; 过滤器是S…

Matlab画等构造图

clc;clear;close all; data xlsread(TOPBRENT等T0构造.xlsx); x data(:,1) xmax max(x); xmin min(x); y data(:,2) ymax max(y); ymin min(y); z data(:,3); N 45; …

BeanFactory与ApplicationContext基本介绍

接口定义能力&#xff0c;抽象类实现接口的一些重要方法&#xff0c;最后实现类可以实现自己的一些逻辑 BeanFactory简介 仅仅是一个接口&#xff0c;Spring 的核心容器&#xff0c;并不是IOC容器的具体实现&#xff0c;它的一些具体实现类才是 BeanFactory 与 ApplicationCo…