Linux系统OpenSSH_9.7p1升级详细步骤

news2024/11/26 22:40:48

版本说明

当前内核版本如下

当前操作系统版本如下

当前OpenSSH版本和OpenSSL版本如下

升级说明

openssh依赖于openssl和zlib,而openssl依赖于zlib,所以我们要先安装zlib,然后是openssl,最后是openssh
zlib-1.3.1下载地址https://www.zlib.net/zlib-1.3.1.tar.gz
openssl-3.2.1下载地址https://www.openssl.org/source/openssl-3.2.1.tar.gz
openssh-9.7p1下载地址https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

升级步骤

备份配置

cp -rf /etc/ssh /etc/ssh.20240614bak
cp -rf /usr/bin/openssl /usr/bin/openssl.20240614bak
cp -rf /etc/pam.d /etc/pam.d.20240614bak
cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.20240614bak

安装telnet

此步主要是防止openssh升级过程中出现异常,导致ssh无法使用,无法远程登陆服务器,此时可以用telnet暂时登陆服务器使用

检查一下之前有没有安装过

rpm -qa telnet-server

rpm -qa | grep xinetd

然后进行安装

yum -y install telnet-server telnet xinetd

启动服务

systemctl start telnet.socket
systemctl start xinetd

加入开机自启动

systemctl enable xinetd.service
systemctl enable telnet.socket

开放防火墙23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
重新加载防火墙规则
firewall-cmd --complete-reload
查询23端口放行情况
firewall-cmd --query-port=23/tcp
开放telnet明文登录
sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so/#&/' /etc/pam.d/remote

telnet登陆测试

安装依赖及编译环境

yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano

下载源码包

先进入到/usr/local/src目录下,把需要源码包都下载下来

cd /usr/local/src
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

查看源码包都在该目录下

然后解压

tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.2.1.tar.gz
tar -zxvf openssh-9.7p1.tar.gz

查看源码包都已经解压好

安装zlib

进入目录        cd /usr/local/src/zlib-1.3.1

配置        ./configure --prefix=/usr/local/src/zlib

编译安装(时间根据机器性能而定)        make -j 4 && make install

安装openssl

进入目录        cd /usr/local/src/openssl-3.2.1

配置        ./config --prefix=/usr/local/src/openssl

编译安装(时间根据机器性能而定)        make -j 4 && make install

配置
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
更新动态库
echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf
ldconfig
查看更新后的版本
openssl version -v

安装openssh

卸载旧版本openssh       yum remove -y openssh

清理残余文件        rm -rf /etc/ssh/*

进入openssh-9.7p1目录
cd /usr/local/src/openssh-9.7p1
配置
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib

编译安装
make -j 4 && make install

查看目录版本
/usr/local/src/ssh/bin/ssh -V

复制新ssh文件
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.pam /etc/pam.d/sshd

cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

重启sshd服务
/etc/init.d/sshd restart

查看服务运行状态
/etc/init.d/sshd status

添加开机启动
chkconfig --add sshd
查看升级后ssh版本
ssh -V

这时我们查看,openssh已经成功升级到9.7p1版本,接下来我们用ssh进行一下登陆测试,没有问题

卸载telnet

由于Telnet协议使用明文传输数据,用户的传输数据的安全性得不到保障,建议将telnet卸载

停止telnet.socket服务        systemctl stop telnet.socket

停止telnet.socket开机自启        systemctl disable telnet.socket

查看当前telnet.socket服务状态        systemctl status telnet.socket

同样对xinetd服务也做上面的操作

删除包        yum -y remove telnet-server telnet xinetd

查看防火墙23端口是否开放        firewall-cmd --query-port=23/tcp

关闭防火墙23端口         firewall-cmd --zone=public --remove-port=23/tcp --permanent

重新加载防火墙规则        firewall-cmd --complete-reload

再次查看防火墙23端口是否开放        firewall-cmd --query-port=23/tcp

关闭telnet明文登录        vim /etc/pam.d/remote

原来的文件

修改为(把第二行的注释去掉即可)

升级结束

至此,OpenSSH_9.7p1升级结束。文章可能还有一些不足之处请谅解。有问题大家可以留下评论,大家共同探讨,共同进步!

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

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

相关文章

新版嘎嘎快充互联互通系统配置文档

宝塔环境配置 登录宝塔账号,安装nginx、mysql5.7、php7.2、supervisor、redisphp安装扩展: 1)安装swooleloader72 将嘎嘎官方提供的swoole_loader_72_nts.so文件上传到 /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718…

阿里巴巴全球数学竞赛报名条件

#竞赛概览与历史# “阿里巴巴全球数学竞赛”(Alibaba Global Mathematics Competition)由阿里巴巴公益、阿里巴巴达摩院共同举办,面向全球的数学爱好者,集竞赛、培训、交流于一体,旨在全球范围内引领开启关注数学、理解…

Debian/Ubuntu linux安装软件

1、官方软件商店安装 2、deb包安装 报错不是sudoers,首先将用户添加到sudo su -l adduser USERNAME sudo exit然后,退出桌面环境并再次登录。 您可以通过输入以下内容来检查上述过程是否成功: groups下载deb包 altshiftf4或右键打开命令行…

【交易策略】#22-24 残差资金流强度因子

【交易策略】#22-24 残差资金流强度因子

Web前端项目-拼图游戏【附源码】

拼图游戏 拼图游戏是一种经典的益智游戏,通过HTML、CSS和JavaScript等前端技术的综合运用来实现;拼图游戏可以锻炼玩家的观察能力、空间认知能力和逻辑思维能力。游戏开始时,一张图片会被切割成多个小块,并以随机顺序排列在游戏区…

脑白金咖啡首辆快闪咖啡车亮相上海,瞄准年轻健康饮品市场

近日,巨人集团旗下脑白金快闪咖啡车现身上海外滩BFC中心,这是继脑白金咖啡在上海地标建筑武康大楼开设快闪店以来,首次以咖啡车形式亮相大众视野。 据「TMT星球」了解,此次快闪活动为期一个月,与合作伙伴共同打造潮流…

Mac 开发vscode常用命令

1 打开vscode settting配置 commandshiftp 输入:Open User Setting 2

如何优雅的了解OpenHarmony-v4.1-Release的init启动流程

一、启动概述 在产品代码成功编译通过后,开始进行下一步的运行调测阶段,而运行调测第一步便需要了解系统的启动过程。对于 OpenHarmony 来说,系统启动流程如下: ---> uboot启动---> uboot启动内核---> 内核挂载根文件系…

深入理解@EnableAspectJAutoProxy的力量

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

怎么用AI绘画完成设计创作?

AI绘画工具为设计师提供了强大的功能和便利性,用AI绘画进行艺术创作能够使设计师能够更快地迭代和优化设计方案,提高设计效率。那么怎么用AI绘画完成设计创作? 要使用AI绘画完成设计创作,首先需要选择一个合适的工具。目前市场上有很多优秀的…

大话设计模式解读03-装饰模式

本篇文章,来解读《大话设计模式》的第6章——装饰模式。并通过C代码实现实例代码的功能。 注:第3~6章讲的是设计模式中的一些原则(第3章:单一职责原则;第4章:开放-封闭原则;第5章:依…

吴恩达2022机器学习专项课程C2W3:2.26 机器学习发展历程

目录 开发机器学习系统的过程开发机器学习案例1.问题描述2.创建监督学习算法3.解决问题4.小结 误差分析1.概述2.误差分析解决之前的问题3.小结 增加数据1.简述2.增加数据案例一3.增加数据案例二4.添加数据的技巧5.空白创建数据6.小结 迁移学习1.简述2.为什么迁移学习有作用3.小…

考勤机如何选购

考勤机如何选购 选购目的:为强化管理,保证公司考勤工作顺利开展,拟在我司采用指纹识别技术进行员工考勤,如此可有效提升工作效率,而指纹识别考勤技术又是最为便捷、可靠且非侵入性的考勤方式。 指纹考勤…

Python Django 实现教师、学生双端登录管理系统

文章目录 Python Django 实现教师、学生双端登录管理系统引言Django框架简介环境准备模型设计用户认证视图和模板URL路由前端设计测试和部署获取开源项目参考 Python Django 实现教师、学生双端登录管理系统 引言 在当今的教育环境中,数字化管理系统已成为必不可少…

Hi3861 OpenHarmony嵌入式应用入门--点灯

本篇实现对gpio的控制,通过控制输出进行gpio的点灯操作。 硬件 我们来操作IO2,控制绿色的灯。 软件 GPIO API API名称 说明 hi_u32 hi_gpio_deinit(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO…

一文教你使用sql快速查询1对多数据关系,生成一个多维数据!

本篇文章主要讲解:利用mysql的sql特性,实现对多表查询下,一个用户对应多条记录数据查询为一条数据并以列表形式显示的教程。 日期:2024年6月17日 作者:任聪聪 一、创建数据库表 创建test_a表,内容如下&…

Python 全栈系列250 数据流实践

说明 之前好几个企业都提过飞机在飞的时候换发动机的例子,来比喻变革是多么无奈和危险。还有的说法更直接:不变等死,变就是找死,总得选一样。 后来我自己的体会也差不多是这样,总有一些窘境让你抉择:是忽忽…

在Qt编写的exe或者dll中设置版本号

1.背景 在别人编写的exe或者动态库中,通过右键–》属性–》详细信息中,通常都有版本信息: 那我们自己编译出来的Qt程序,如何设置这些版本号呢? 2.解决方案 参考【.pro文件中设置版本等信息】,只要在工…

【完结】无代码网页爬虫软件——八爪鱼采集器入门基础教程

《八爪鱼采集器入门基础教程》大纲如下: 课程所提软件,八爪鱼采集器下载: 1.软件分享[耶]八爪鱼,爬取了几百条网站上的公开数据,不用学代码真的很方便。[得意]2.发现了一个很棒的软件,?不用学python也可…

【UEditorPlus】后端配置项没有正常加载,上传插件不能正常使用

接上文【UEditorPlus】后端配置项没有正常加载,上传插件不能正常使用_ueditor ruoyi vue后端配置项没有正常加载,上传插件不能正常使用!-CSDN博客 成功解决图片、视频上传问题后,当服务部署在公网时,会存在大文件无法正常上传的问题。 出现…