更改被 netcat 抓取的 SSH 横幅

更改被 netcat 抓取的 SSH 横幅

我已经安装了 openssh 服务器。我想禁用当我这样做时显示的横幅::

nc 0.0.0.0 22

它显示类似这样的内容::: SSH-2.0-OpenSSH_6.7p1 Raspbian-5

如何让它显示其他内容或根本不显示任何内容?

答案1

这个横幅

SSH-2.0-OpenSSH_6.7p1 Raspbian-5

是 SSH 协议的一部分,如章节中所述

4.2.协议版本交换

RFC 4253:

当连接建立后,双方必须发送一个标识字符串。该标识字符串必须是

SSH-protoversion-softwareversion SP comments CR LF

你无法摆脱这个SSH-2.0部分。该softwareversion部分通常用于互操作性,删除它也不是一个好主意。它们comments是可选的并且不需要在那里(但 Debian 默认将它们放入)。

DebianBanner您可以使用中的选项删除注释sshd_config。将其设置为no并重新启动ssh服务器将不再显示它。

答案2

DebianBanner 不适用于所有发行版(显然)

适用于所有发行版的方法是用 Perl 进行二进制替换,例如:

perl -pi -e 's/OpenSSH_7.4/DragonGuru9/g' /sbin/sshd
systemctl restart sshd

这也可以在实时服务器上完成,并且该过程不得停止。

当您进行二进制字符替换时,请注意将“OpenSSH_7.4”替换为确切数量的字符(本例中为 11 个)。如果用不同数量的字符替换它,二进制文件将被破坏。

这是 Nmap 扫描后的样子:

Nmap 扫描自定义横幅消息

相关内容