从OpenSSH客户端禁止SSH横幅


34

我正在登录设置了ssh标语的服务器。我想抑制它(尤其是非交互使用)。我无权访问服务器sshd_config

到目前为止,我发现的最佳解决方案是LogLevel ERROR在客户端上设置该选项。问题在于,这将禁止显示其他任何INFO级别的消息,这些消息我不一定要隐藏(请搜索OpenSSH源以logit获取示例)。我也可以使用,ssh -q但这会抑制更多。

还有其他更具体的解决方案吗?

Answers:


43

AFAIK,“ ssh -q”或“ LogLevel QUIET~/.ssh/config是使横幅静音的“传统”方式。因此,您已经对“”有“更好”的折衷LogLevel ERROR

如果可以的话,更具体的解决方案是使用ssh客户端的自定义修补版本。


2
我认为这LogLevel ERROR只会抑制OpenSSH的较新版本中的旗帜。在旧版本中,LogLevel QUIET还是ssh -q必需的。
Michael Hoffman

3
如果-q不起作用(在Debian 7上不适合我),则可以使用另一个问题的解决方案:serverfault.com/a/764403/62024
Nux

1

您还可以使用:

Banner none

/etc/ssh/sshd_config

1
OP指定“我无权访问服务器sshd_config”,因此很遗憾,这无法回答问题。
Shunz先生

@MrShunz您说得对,但是我到达此页面正在搜索Suppressing ssh banner from OpenSSH client和找到此答案,尽管它不能完全回答OP问题,但可能会帮助将来的用户。
Pedro Lobito

0

安装hexedit:

apt-get update && apt-get install hexedit

备份sshd二进制文件并创建一个可编辑的工作副本(作为根用户):

  cp -p /usr/sbin/sshd /tmp/sshd.backup
  cp -p /tmp/sshd.backup /tmp/sshd.new

使用hexedit更新二进制文件:

hexedit /tmp/sshd.new

按TAB键从十六进制切换到ASCII区域。

使用CTRL + S调出搜索提示,并在横幅中搜索要隐藏的文本,例如“ OpenSSH_7.4”。

您应该看到类似以下内容:

0007DA54   61 67 65 6E  74 00 00 00  4F 70 65 6E  agent...Open
0007DA60   53 53 48 5F  37 2E 34 70  31 20 52 61  SSH_7.4p1 Ra
0007DA6C   73 70 62 69  61 6E 2D 31  30 2B 64 65  spbian-10+de
0007DA78   62 39 75 32  00 00 00 00  4F 70 65 6E  b9u2....Open

使用箭头键突出显示要更新的字符串的开头,然后键入替换项。

请注意不要超出原始横幅的长度范围。如果您只想将字符串中的每个单词设置为“ 00”以使字符串为空,则也可以按TAB键切换回十六进制区域。

您的更改应类似于:

0007DA54   61 67 65 6E  74 00 00 00  48 65 72 65  agent...Here
0007DA60   20 62 65 20  64 72 61 67  6F 6E 73 2E   be dragons.
0007DA6C   20 54 75 72  6E 20 42 61  63 6B 00 00   Turn Back..
0007DA78   00 00 00 00  00 00 00 00  4F 70 65 6E  ........Open

使用CTRL + x和Y保存更改。

检查是否有任何遗漏的实例(我们希望现在没有输出):

strings /tmp/sshd.new | grep Rasp

更新sshd并重新启动服务是一种很好的措施:

rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service

检查您仍然可以通过SSH进行登录(否则,请从包管理器恢复备份或重新安装OpenSSH!):

ssh -vv user@ip

注意!!

仅当您更新OpenSSH时,此更改才是临时的,二进制文件将被替换。


2
的确,这个问题实际上并未指定他们没有对的写入权限sshd,这似乎很可能是因为它确实没有指定sshd_config访问权限。他们正在寻找基于客户端的解决方案。
Mike Scott
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.