之前的情况请移步: https://www.v2ex.com/t/1059898#reply74
感谢:这里首先感谢一下 V 友大佬们的宝贵建议,在整理了大家的建议后,我成功升级了 9 个生产服务器的 OpenSSH 的版本。
背景:领导要求升级服务器 OpenSSH 版本,其实本人并不是专职运维,只是一名开发,但无奈部门的运维离职梭哈考公,并且领导要求这个漏洞要求尽快修复,我只能是自己研究如何升级 OpenSSH 了。
准备:
大量搜索资料。
自己为了模拟服务器的环境,或者说测试升级步骤的是否通用,用 Docker 容器、WSL2 、自己的华为云服务器、虚拟机装的(Ubuntu 、CentOS 、RedHat),甚至把自己笔记本装的 ArchLinux 也用上了,庆幸的是,测试的结果都是升级成功了。
注意的点:
自己模拟一下 PROD 服务器的环境,测试一下(基础软件的版本也要一致)。
升级之前和同事打声招呼一下,可能同事写的脚本会因为升级 SSH 而出现小问题。
备份好 SSH 和 SSH 的配置,还有升级中使用到的其他库/软件尽量也备份。
多开启几个 SSH 连接,一个坏了有可能另一个还是可以连上的。
提前安装好 telnet ,多开几个 telnet 连接,防止 SSH 升级失败,无法远程连接。
升级之前查一下这个服务器的 gcc 等基础软件的版本,尽量和你升级成功案例基础软件的版本一致,升级完成之后,再把 gcc 等软件切换回之前的版本,防止有其他影响。
手动安装一些 rpm 的时候,慎用--nodeps 强装。
升级之后如果稳定连接了一段时间后,可以删除掉 telnet 了。
复盘 / 感慨 / 忧虑:
ssh -V
输出我想要的版本的时候,是我本科毕业工作这三个月以来最有成就感的事情。这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.