当前位置:首页>Linux>Linux系统如何修改ssh版本号

Linux系统如何修改ssh版本号

  • 2026-08-25 09:49:11
Linux系统如何修改ssh版本号
升级与操作有风险,请谨慎操作,提前做好备份!!!本公众号的内容只在测试环境上验证,不对您的任何操作行为负责。本公众号只为宣传信创UOS操作系统,均为个人行为        
        近期有学员反馈,想通过修改openssh版本号来躲避安全扫描检查,不晓得怎么操作,怎么办?信创课堂第38期现在开课了。
一、为啥要修改ssh的版本
1、满足等保要求‌

        通过修改二进制文件中的版本号(如OpenSSH 9.8p2),以满足等保合规检查。

    • 风险‌:仅修改版本号无法修复实际漏洞,存在误报风险。

2、规避安全扫描‌

        某些漏洞扫描工具仅通过版本号判断漏洞存在(如OpenSSH 8.8p1及之前版本的命令注入漏洞),修改版本号可规避误报。

    • 操作风险‌:需确保修改后服务仍可正常运行。

3、规避升级风险‌

       直接升级OpenSSH存在兼容性风险(如OpenSSL版本要求),修改版本号可规避风险。

    • 合规操作‌:需结合实际版本(如centos8的OpenSSH 9.8p2)进行修改。

二、查看当前ssh的版本
1、openssh版本查看命令为ssh -V (此处V为大写),使用which命令查看ssh和sshd程序所在的位置
此处默认ssh的目录为/usr/bin,默认sshd的目录为/usr/sbin,若才用源码编译升级后,ssh和sshd的目录是放在/usr/local/openssh ,可以参考Centos系列Linux系统openssh升级到10.0p2
三、修改ssh版本
1、防止备份原始SSH文件,防止操作失误,两个文件都需要备份
cp /usr/bin/ssh /usr/bin/ssh.bakcp /usr/sbin/sshd /usr/sbin/sshd.bak
2、查看sshd版本号相关的字符串,如下操作
strings  /usr/sbin/sshd |grep OpenSSH_8.2  ##查看对应字符串strings  /usr/bin/ssh |grep OpenSSH_8.2    ##查看对应字符串

3、修改sshd和ssh两个关键文件

sed -i 's/OpenSSH_8.2/OpenSSH_9.8/g' /usr/sbin/sshd ##修改版本号sed -i 's/OpenSSH_8.2/OpenSSH_9.8/g' /usr/bin/ssh  ##修改版本号systemctl restart sshd  ##重启服务
四、再次查看ssh的版本
1、openssh版本查看命令为ssh -V (此处V为大写)
温馨提示:
    • 修改版本号只是为了躲避安全检查,并不能解决实际的风险,属于掩耳盗铃行为。
    • 由于sshd是二进制文件,因此在替换版本号的时候,替换的字符串长度要和被替换的长度保持一致,否则会导致ssh崩溃无法使用

    • 另外也不是随便修改成任何一个版本号都可以的,比如修改成10.0p1版本,重启sshd服务就会coredump,所以要谨慎操作

最新文章

随机文章