Linux Centos7内网服务器离线升级openssh9.3

news2024/11/16 21:39:02

内网服务器需要升级openssh,被折磨了一整天,觉得有必要记录一下,不然对不起这差点崩溃的一天,主要的几个难点就是不能yum一键安装,需要自己找到对应的依赖版本然后通过堡垒机上传到内网,还有就是服务器很干净,什么都没有,需要离线安装的包太多,又不知道依赖关系,另外个问题就是这次升级了10台服务器,每台服务器的已有的包都不同,有些缺的多有些缺的少,中间还把服务器搞挂一次,因为卸载了ssh导致无法登陆,所以卸载的时候请慎重,最好保证已经安装了telnet和vsftp可以进行登陆和文件上传

1.安装包准备

        xinetd-2.3.15-14.el7.x86_64.rpm

        telnet-0.17-65.el7_8.x86_64.rpm

        telnet-server-0.17-65.el7_8.x86_64.rpm

        gcc-4.8.5-44.el7.x86_64.rpm

        gcc-c++-4.8.5-44.el7.x86_64.rpm

        openssh-9.3p1.tar.gz

        openssl-devel-1.0.2k-25.el7_9.x86_64.rpm

        pam-devel-1.1.8-23.el7.x86_64.rpm

        zlib-devel-1.2.7-20.el7_9.x86_64.rpm

        zlib-1.2.7-20.el7_9.x86_64.rpm

        kernel-headers-3.10.0-1160.el7.x86_64.rpm

        以上安装包链接:https://pkgs.org/

2.安装telnet,避免openssh安装过程中断时服务器无法登陆

        1.rpm安装                    

rpm -ivh xinetd-2.3.15-14.el7.x86_64.rpm
rpm -ivh telnet-0.17-65.el7_8.x86_64.rpm
rpm -ivh telnet-server-0.17-65.el7_8.x86_64.rpm

        2.启动telnet

service xinetd restart

systemctl restart telnet.socket

3.安装openssh

        1.将openssh9.3安装包解压

tar -zxvf openssh-9.3p1.tar.gz
cd openssh-9.3p1

         2.备份配置文件

cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd sshd.backup

        3.编译配置

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam

        注意:这一步不能出现错误,如果出现错误一般是缺少依赖,缺少哪个就安装上面准备的包即可,基本上根据名字就能看出是哪个包,稍有不同的下面已经列出来了

        这个问题是 c语言编译环境不对,这个是最麻烦的问题,因为找不到缺少了哪些包,查看config.log会提示缺少某个文件,一般是缺少gcc,gcc-c++,kernel-headers等,把这几个安装上再试试

rpm -ivh  kernel-headers-3.10.0-1160.el7.x86_64.rpm --nodeps --force
rpm -ivh  gcc-c++-4.8.5-44.el7.x86_64.rpm --nodeps --force
rpm -ivh  gcc-4.8.5-44.el7.x86_64.rpm --nodeps --force

         这个是缺少openssl,安装openssl即可

rpm -ivh  openssl-devel-1.0.2k-25.el7_9.x86_64.rpm --nodeps --force

        编译结果如下图即为成功

         4.卸载旧版本,务必上一步完成之后再进行这一步,因为旧版本卸载之后将无法使用ssh登陆服务器和上传文件

rpm -e --nodeps `rpm -qa | grep openssh`

         5.编译安装

make && make install

        如下图即为成功 

        6.调整文件权限

chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

        7.复制配置文件

cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd

        8.还原之前备份的配置文件

cp sshd_config.backup /etc/ssh/sshd_config
cp sshd.backup /etc/pam.d/sshd 

         9.设置root用户可以远程登陆

sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config

        10.设置开机自动启动

chkconfig --add sshd
chkconfig sshd on

        11.重启ssh

systemctl restart sshd

        12.验证

ssh -V

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

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

相关文章

无涯教程-JavaScript - ISPMT函数

描述 ISPMT函数计算在特定投资期间支付的利息。提供此功能是为了与Lotus 1-2-3兼容。 语法 ISPMT (rate, per, nper, pv)争论 Argument描述Required/OptionalRateThe interest rate for the investment.RequiredPerThe period for which you want to find the interest, an…

vue-puzzle-vcode完成验证码拖拽

一、 vue-puzzle-vcode插件【推荐】 GitHub地址&#xff1a;beeworkshop/vue-puzzle-vcode 1、安装vue-puzzle-vcode cnpm i -S vue-puzzle-vcode2、实现代码 <template><div><Vcode :show"isShow" success"success" close"close&…

7年经验之谈 —— Web测试是什么,有何特点?

Web测试是指对Web应用程序进行验证和评估的过程&#xff0c;以确保其功能、性能和安全性符合预期。 Web测试具体包括以下几个方面的内容&#xff1a; 功能测试&#xff1a;验证Web应用程序是否按照需求规格说明书中定义的功能正常工作。功能测试包括输入验证、表单提交、页面…

【Flutter】Flutter 使用 pull_to_refresh 实现下拉刷新和上拉加载

【Flutter】Flutter 使用 pull_to_refresh 实现下拉刷新和上拉加载 文章目录 一、前言二、pull_to_refresh 包简介三、安装与基本使用四、高级功能与配置五、实际业务中的用法六、完整示例七、总结 一、前言 你好&#xff01;在移动开发中&#xff0c;下拉刷新和上拉加载是非常…

【数据结构】双向链表详解

当我们学习完单链表后&#xff0c;双向链表就简单的多了&#xff0c;双向链表中的头插&#xff0c;尾插&#xff0c;头删&#xff0c;尾删&#xff0c;以及任意位置插&#xff0c;任意位置删除比单链表简单&#xff0c;今天就跟着小张一起学习吧&#xff01;&#xff01; 双向链…

Pytorch Advanced(一) Generative Adversarial Networks

生成对抗神经网络GAN&#xff0c;发挥神经网络的想象力&#xff0c;可以说是十分厉害了 参考 1、AI作家 2、将模糊图变清晰(去雨&#xff0c;去雾&#xff0c;去抖动&#xff0c;去马赛克等)&#xff0c;这需要AI具有“想象力”&#xff0c;能脑补情节&#xff1b; 3、进行数…

JavaScript Promise 的真正工作原理

Promise 是处理异步代码的一种技术,也称为脱离回调地狱的头等舱门票。 3 承诺状态 待定状态 已解决状态 拒绝状态 理解 JavaScript Promis 什么是承诺? 通常,承诺被定义为最终可用的值的代理。 Promise 多年来一直是 JavaScript 的一部分(在 ES2015 中标准化并引入)。最…

【数据结构】前言概况 - 树

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章针对树形结构作出前言&#xff0c;以保证可以对树初步认知。 目录&#xff1a; &#x1f30d;前言:&#x1f3…

Python语义分割与街景识别(4):程序运行

前言 本文主要用于记录我在使用python做图像识别语义分割训练集的过程&#xff0c;由于在这一过程中踩坑排除BUG过多&#xff0c;因此也希望想做这部分内容的同学们可以少走些弯路。 本文是python语义分割与街景识别第四篇&#xff0c;关于程序的内容&#xff0c;也是差不多最…

【Unity编辑器扩展】| GameView面板扩展

前言【Unity编辑器扩展】| GameView面板扩展未运行时在Game视图进行绘制总结前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。本文就来详细介绍一下…

JAVA版的数据结构——链表

目录 1.单向不带头链表 1.1 链表的概念及结构 1.2 代码部分 1.3 完整的全部代码 2. 双向不带头链表 2.1 代码部分 2.2 完整的代码 3. MySingleList与MyLinkedList代码上的区别 4. LinkedList的使用 4.1 什么是LinkedList 4.2 LinkedList的使用 4.2.1 LinkedList的构…

【数据结构】堆的向上调整和向下调整以及相关方法

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3; 文章目录 一、堆的概念二、堆的性质…

github上创建分支并合并到master

github上创建分支并合并到master 目录概述需求&#xff1a; 设计思路实现思路分析1.创建分支2.commit changes3.create pull request按钮4.网页解析器5.数据处理器 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,ful…

[deeplearning]深度学习框架torch的概念以及数学内容

&#xff08;提前声明&#xff1a;这边的操作系统为ubuntn22.04,至于window上如何进行安装和导入按这边不是很理解&#xff09; &#xff08;另外代码样例基本不使用notebook&#xff0c;paddle等等在线工具&#xff0c;而是使用本机安装好的python环境&#xff0c;和pytorch框…

IDEA中maven的设置以及相关功能

Maven 项目介绍 学习前提 相对于传统的项目&#xff0c;Maven 下管理和构建的项目真的非常好用和简单&#xff0c;所以这里也强调下&#xff0c;尽量使用此类工具进行项目构建。 ## Maven 常用设置介绍 如上图标注 1 所示&#xff0c;我们可以指定我们本地 Maven 的安装目录…

模块化开发_groupby查询think PHP5.1

要求按照分类的区别打印出不同类别的数据计数 如张三&#xff0c;做了6件事情 这里使用原生查询先测试 SELECT cate_id, COUNT(*) AS order_count FROM tp_article GROUP BY cate_id;成功 然后项目中实现 public function ss(){$sql "SELECT cate_id, COUNT(*) AS orde…

RCNA 锐捷培训

第一章 网络基础入门 1.1 OSI参考模型及TCP/IP协议栈 数据是如何传输的&#xff1f; 数据在计算机网络中传输通常依赖于TCP/IP协议模型。 什么是网络&#xff1f; 网络是一种连接多个计算机、设备或系统的通信基础设施&#xff0c;其目的是实现资源共享、信息传递、接收和共享…

14.Xaml ProgressBar控件 进度条控件

1.运行效果 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--Orientation="Horizontal" 进度条的方向 水平的还是垂直的Value="40" 进度的数值Minimum="0" 最小值Maximum

17. 线性代数 - 矩阵的逆

文章目录 矩阵的转置矩阵的逆Hi, 您好。我是茶桁。 我们已经学习过很多关于矩阵的知识点,今天依然还是矩阵的相关知识。我们来学一个相关操作「矩阵的转置」,更重要的是我们需要认识「矩阵的逆」 矩阵的转置 关于矩阵的转置,咱们导论课里有提到过。转置实际上还是蛮简单…

淘宝京东扣库存怎么实现的

1. 使用kv存储实时的库存&#xff0c;直接在kv里扣减&#xff0c;避免用分布式锁 2. 不要先查再扣&#xff0c;直接扣扣扣&#xff0c;扣到负数&#xff0c;&#xff08;增改就直接在kv里做&#xff09;&#xff0c;就说明超卖了&#xff0c;回滚刚才的扣减 3. 同时写MQ&…