当前位置: 首页 > news >正文

openssh离线一键升级脚本分享(含安装包)

查看当前的版本

[root@myoracle ~]#ssh -V

在这里插入图片描述

相关安装包下载地址

openssh下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssl下载地址:https://www.openssl.org/source/zlib下载地址:http://www.zlib.net/

今天演示从7.4升级到9.9,其他的大家可以自行替换安装包和脚本中的名称即可。

一、脚本内容:

#!/bin/bash
# OpenSSH 离线升级一键脚本(v9.9p1)# 检查执行权限
if [[ "$(whoami)" != "root" ]]; thenecho -e "\033[31m错误:必须使用 root 用户执行此脚本!\033[0m" >&2exit 1
fi# 环境检查
check_environment() {echo -e "\n\033[34m[1/7] 正在检查系统环境...\033[0m"if ! grep -q "CentOS Linux 7.9" /etc/redhat-release; thenecho -e "\033[31m错误:仅支持 CentOS 7 操作系统!\033[0m"# exit 1fiif [ "$(uname -m)" != "x86_64" ]; thenecho -e "\033[31m错误:仅支持 64 位系统!\033[0m"exit 1fiecho -e "\033[32m环境检查通过\033[0m"
}# 安装依赖包
install_dependencies() {echo -e "\n\033[34m[3/7] 安装基础依赖...\033[0m"cd /opttar -xvf yilai.tar.gzcd yilairpm -ivh *.rpm --nodeps --forceecho -e "\033[32m依赖包安装完成\033[0m"
}# 编译安装 zlib
build_zlib() {echo -e "\n\033[34m[4/7] 编译安装 zlib...\033[0m"cd /opttar -xvf zlib-1.3.1.tar.gzcd zlib-1.3.1./configure --prefix=/usr/local/zlibmake && make installecho '/usr/local/zlib/lib' >> /etc/ld.so.confldconfig -v
}# 编译安装 OpenSSL
build_openssl() {echo -e "\n\033[34m[5/7] 编译安装 OpenSSL...\033[0m"cd /opttar -xvf openssl-1.1.1o.tar.gzcd openssl-1.1.1o./config --prefix=/usr/local/ssl -d sharedmake && make installecho '/usr/local/ssl/lib' >> /etc/ld.so.confldconfig -v
}# 安装 OpenSSH
install_openssh() {echo -e "\n\033[34m[6/7] 升级 OpenSSH 到 v9.9p1...\033[0m"# 卸载旧版本rpm -e --nodeps openssh-server openssh openssh-clients 2>/dev/null# 编译安装cd /opttar -xvf openssh-9.9p1.tar.gzcd openssh-9.9p1./configure --prefix=/usr/local/openssh \--with-zlib=/usr/local/zlib \--with-ssl-dir=/usr/local/sslmake && make install# 配置文件echo 'PermitRootLogin yes' >> /usr/local/openssh/etc/sshd_configecho 'PubkeyAuthentication yes' >> /usr/local/openssh/etc/sshd_configecho 'PasswordAuthentication yes' >> /usr/local/openssh/etc/sshd_configcp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_configecho 'HostKeyAlgorithms ssh-rsa,ssh-dss ' >> /etc/ssh/sshd_config# 替换系统命令(修复关键点)if [ -f /usr/sbin/sshd ]; thenmv /usr/sbin/sshd /usr/sbin/sshd.bakficp -f /usr/local/openssh/sbin/sshd /usr/sbin/sshd  # 使用新编译的二进制文件# 修复权限chmod 755 /usr/sbin/sshdcp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen# 复制 ssh 命令cp /usr/local/openssh/bin/ssh /usr/bin/sshchmod 755 /usr/bin/ssh# 启动脚本cp -p contrib/redhat/sshd.init /etc/init.d/sshdchmod +x /etc/init.d/sshdchkconfig --add sshdchkconfig sshd on
}# 最终验证
final_check() {echo -e "\n\033[34m[7/7] 执行最终检查...\033[0m"systemctl daemon-reloadsystemctl restart sshdssh -V 2>&1 | grep -q "OpenSSH_9.9p1"if [ $? -eq 0 ]; thenecho -e "\033[32m升级成功!当前SSH版本:$(ssh -V 2>&1)\033[0m"echo -e "\033[33m警告:请通过新SSH端口连接确认无误后,再关闭Telnet服务!\033[0m"elseecho -e "\033[31m错误:升级失败,请检查日志!\033[0m"exit 1fi
}# 主执行流程
main() {check_environmentinstall_dependenciesbuild_zlibbuild_opensslinstall_opensshfinal_check
}# 执行主函数
main

二、使用说明

文件准备
将以下文件放在 /opt 目录:

/opt/
├── yilai.tar.gz # 包含所有依赖的RPM包
├── openssh-9.9p1.tar.gz
├── openssl-1.1.1o.tar.gz
├── zlib-1.3.1.tar.gz

将以上脚本编写为upgrade_openssh.sh

赋予权限执行即可。

[root@myoracle ~]#chmod +x upgrade_openssh.sh
[root@myoracle ~]#./upgrade_openssh.sh

验证升级

[root@myoracle ~]#ssh -V  # 应显示 "OpenSSH_9.9p1"
[root@myoracle ~]#systemctl status sshd

在这里插入图片描述

重启验证

[root@myoracle ~]#reboot

在这里插入图片描述

三、离线安装包

通过网盘分享的文件:openssh
链接: https://pan.baidu.com/s/1_Y2X293ZBDf3DssrO_oUTw 
提取码: cr33

相关文章:

  • Kubernetes 节点摘除指南
  • 人形机器人中的实时操作系统应用研究
  • 【T2I】MIGC++: Advanced Multi-Instance GenerationController for Image Synthesis
  • AgentOps - 帮助开发者构建、评估和监控 AI Agent
  • AI Agents系列之AI代理的类型
  • 【STM32单片机】#9 DMA直接存储器存取
  • SAP ECCS标准报表在报表中不存在特征CG细分期间 消息号 GK715报错分析
  • 苍穹外卖菜品图片保存本地代码修改
  • 【多线程-第四天-NSCache Objective-C语言】
  • Jetpack Compose 实现主页面与局部页面独立刷新的最佳实践
  • 四六级听力调频广播有线传输无线覆盖系统:弥补单一发射系统安全缺陷,构建稳定可靠听力系统平台
  • Hadoop集群部署教程-P3
  • udhcpc和udhcpd的区别
  • vue3+element-plus实现省市区三级地址多选
  • 【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践
  • 如何在 Kali 上解决使用 evil-winrm 时 Ruby Reline 的 quoting_detection_proc 警告
  • DeepSeek模型剪枝策略是什么?如何让AI更轻更快更聪明!
  • 从零到一:网站设计新手如何快速上手?
  • GRPO训练器 文档
  • argparse
  • 有专门做ppt的网站有哪些/国内永久免费云服务器
  • 风中有朵雨做的云网站观看/bt种子磁力搜索引擎
  • 环保网站设计/大连网络推广公司哪家好
  • 湖南做电商网站需要什么条件/谷歌广告平台
  • 甘肃病毒感染最新消息/百度seo排名工具
  • 网站 app/广告模板