SSH client option to suppress server banners?

Solution 1:

There is a LogLevel option:

It silences the banner but you're still able to receive errors:

$ ssh -o LogLevel=error localhost 
Permission denied (publickey).

Solution 2:

I 've tested it, I think u can use -q in the ssh command. Parameter -q was means Quiet mode. It causes most warning and diagnostic messages to be suppressed, e.g.

ssh -t '$node2' 'sudo cat xxx' |grep xxxxx" 2>/dev/null >/root/node2


ssh -t -q '$node2' 'sudo cat xxxx' |grep xxx" >/root/node2

Hope this can help others

Solution 3:

Update ~/.ssh/config with following to suppress banner

Host *
    LogLevel error

Solution 4:

Seems like you're looking for -q:

Quiet mode. Causes most warning and diagnostic messages to be suppressed.

ssh user@host
| banner: blah                                                                 |
Last login: Mon Oct  2 16:40:01 2017 from ipAddress

With -q

ssh -q user@host
Last login: Mon Oct  2 16:40:30 2017 from ipAddress

Nice and quiet. The banner is still configured but you're not bothered by it.

On another note: don't use banners. It's best not to confirm or deny anything. It won't help you with the people you weren't worried about and the people you are worried about will laugh as they work past it ;-)

Solution 5:

You should be able to set a different Banner (to none) inside a Match block.

For instance:

Match Address
        Banner none

But this has to be done server-side, based on specific conditions. You can't do it from the client side.