我读了停止 ssh 登录从客户端打印 mod?,但我的情况有点不同:
- 我想保留 Banner /path/to/sometxt 服务器端
- 我想在特定条件下传递一个选项,以便不打印横幅(例如
ssh -o "PrintBanner=No" someserver
)。
任何想法?
答案1
你不能。(至少不是使用普通的 OpenSSH)
服务器横幅在身份验证之前由服务器发送。它的目的通常是包含法律免责声明或类似“如果您未获得授权,请立即断开连接”类型的消息,或者您不希望远程用户能够抑制/忽略的其他重要内容。
如果您真的想摆脱这个问题,您将需要破解并编译您自己的定制版本的 SSH 客户端。
答案2
有一个LogLevel
选项:
它会使横幅静音,但您仍然会收到错误:
$ ssh -o LogLevel=error localhost
Permission denied (publickey).
答案3
我已经测试过了,我认为你可以-q
在 ssh 命令中使用。参数 -q 意味着静音模式. 它会导致大多数警告和诊断消息被抑制,例如
ssh -t '$node2' 'sudo cat xxx' |grep xxxxx" 2>/dev/null >/root/node2
或者
ssh -t -q '$node2' 'sudo cat xxxx' |grep xxx" >/root/node2
希望这可以帮助别人
答案4
好像你正在寻找-q:
安静模式。导致大多数警告和诊断消息被抑制。
ssh user@host
*------------------------------------------------------------------------------*
| banner: blah |
*------------------------------------------------------------------------------*
Last login: Mon Oct 2 16:40:01 2017 from ipAddress
$
和-q
ssh -q user@host
Last login: Mon Oct 2 16:40:30 2017 from ipAddress
$
安静又舒适。横幅仍处于配置状态,但您不会受到其干扰。
另外要注意的是:不要使用横幅。最好不要确认或否认任何事情。这对你不担心的人没有帮助,而你担心的人会嘲笑他们;-)