Appearance
产品介绍
SSH-Go 是一款基于 Go 语言开发的自动化 SSH 升级运维工具,专注于 Linux 服务器 OpenSSH 的安全管理和版本更新。
核心价值
在生产环境中,OpenSSH 作为远程管理核心组件,其安全性直接关系到服务器的整体安全。SSH-Go 解决了以下核心痛点:
| 痛点 | 解决方案 |
|---|---|
| OpenSSH 版本过旧存在已知漏洞 | 自动检测并升级到最新稳定版本 |
| 手动编译升级流程繁琐易出错 | 全流程自动化,一键完成 |
| 升级后安全配置丢失导致登录失败 | 自动备份并恢复所有安全配置 |
| 大规模服务器升级效率低下 | 支持管理平台集中管控,批量运维 |
升级流水线
整个升级过程由 11 个步骤构成,全程自动化执行:
检测版本 → 获取源码 → 校验文件 → 备份配置 → 检查磁盘 → 解压源码
→ 备份新配置 → 检查头文件 → 编译安装 → 验证二进制 → 迁移服务- 版本检测 — 通过本地
sshd -V获取当前版本,支持镜像爬取和 API 服务端两种远程版本获取策略 - 获取源码 — 从管理平台 API 或镜像源获取 OpenSSH 源码包下载地址
- 校验文件 — 下载完成后进行 SHA256 完整性校验
- 备份配置 — 升级前自动创建
/etc/ssh/sshd_config快照备份 - 检查磁盘 — 确保目标分区有 500MB 以上可用空间
- 解压源码 — 解压到临时目录准备编译
- 备份新配置 — 从源码包提取默认 sshd_config 作为参考
- 检查头文件 — 验证 PAM/zlib/OpenSSL 开发头文件,缺失时自动安装
- 编译安装 —
./configure+make+make install,启用 PAM/zlib 支持 - 验证二进制 — 检查文件存在性、
sshd -t语法验证、随机端口启动测试 - 迁移服务 — 停止旧服务 → 创建 systemd 单元 → 启动并启用开机自启
守护恢复机制
内置 5 层递进恢复策略,确保 SSH 服务持续可用:
- 重启 sshd 服务
- 直接执行
systemctl restart sshd - 从备份恢复 SSH 二进制 + 重建符号链接 + 重启
- 尝试回退旧版 ssh 服务
- 直接执行
sshd -D二进制
适用场景
- 安全合规 — 满足等保、ISO 27001 等安全合规要求,及时修复 SSH 漏洞
- 批量运维 — 管理大规模 Linux 服务器集群的 OpenSSH 版本
- 内网环境 — 支持自定义镜像源和跳过 HTTPS 证书验证,适配内网部署
- 自动化运维 — 集成 systemd 服务,后台守护运行,无人值守升级