- Published on
我把生产服务器干烂了的后续
- Authors
- Name
- Piggy DP
- @xiaozhudxiaozhu
之前的情况请移步: https://www.v2ex.com/t/1059898#reply74
升级 OpenSSH 版本总结
感谢
首先,感谢 V 友大佬们的宝贵建议。在整理了大家的建议后,我成功升级了 9 个生产服务器的 OpenSSH 版本。
背景
领导要求升级服务器 OpenSSH 版本,虽然我并不是专职运维,只是一名开发,但由于部门的运维离职且梭哈考公,领导要求尽快修复这个漏洞,我只好自己研究如何升级 OpenSSH。
准备工作
- 资料搜索:大量搜索相关资料,确保掌握升级的基本步骤与可能遇到的问题。
- 模拟环境:为了测试升级步骤的通用性,我使用了以下环境进行模拟:
- Docker 容器
- WSL2
- 华为云服务器
- 虚拟机(Ubuntu、CentOS、RedHat)
- 自己笔记本上装的 ArchLinux 通过这些测试环境,升级步骤得到了验证,最终升级成功。
升级过程中需要注意的几点
- 模拟生产环境:在进行生产环境升级前,尽量模拟相似环境,确保基础软件版本一致。
- 与同事沟通:提前通知同事,可能由于升级 SSH,之前写的脚本会出现小问题。
- 备份重要配置:升级前备份 SSH 配置文件,以及升级过程中可能涉及的其他库和软件。
- 多开几个 SSH 连接:如果有一个 SSH 连接出问题,另一个连接可能还能使用。
- 安装 telnet 连接:提前安装 telnet,尽量开多个 telnet 连接,防止 SSH 升级失败后无法远程连接。
- 检查基础软件版本:升级前,确认服务器上的 gcc 等基础软件版本,确保与成功案例的版本一致。升级完成后再切换回原有版本,以避免出现其他问题。
- 慎用
--nodeps
强制安装:安装 rpm 包时,避免使用--nodeps
强制安装选项。 - 清理无用工具:升级完成并稳定连接一段时间后,可以删除掉 telnet。
复盘 / 感慨 / 忧虑
- 成就感:9 台服务器成功输出目标版本的
ssh -V
,是我本科毕业工作这三个月以来最有成就感的事情。 - 失败教训:回想上次升级失败的经历,是因为没有深入研究 SSH 升级的正确步骤,盲目升级,结果失败。这次经历提醒我必须充分准备。
- 成功的侥幸:虽然这次升级成功,但不确定是否是侥幸,可能只是碰巧成功了。仍然对过程充满忐忑。
- 再次感谢:衷心感谢 V 友们提供的宝贵建议,让我顺利完成了这次任务。