Ssh – Disable ssh banner for specific users or ips

sshsshd

I've enabled the banner that appears before the password prompt by setting it it sshd_config. However certain users (especially me) really don't need to see the banner (it also screws up a lot of scripting). I want to be able to disable it for certain users or maybe even certain IP addresses. How do I do this?

Just to be clear, this is the banner that is normally in /etc/issue.net, not the one that can be silenced with .hushlogin.

Best Answer

Here's an example. Details about how Match works is in sshd_config man page.

excerpt

Match   Introduces a conditional block.  If all of the criteria on the Match 
        line are satisfied, the keywords on the following lines override those 
        set in the global section of the config file, until either another Match 
        line or the end of the file.

        The arguments to Match are one or more criteria-pattern pairs.  The 
        available criteria are User, Group, Host, and Address.  The match 
        patterns may consist of single entries or comma-separated lists and may 
        use the wildcard and negation operators described in the PATTERNS 
        section of ssh_config(5).

Details on the patterns that are permissible are in ssh_config man page under "PATTERNS".

excerpt

PATTERNS
        A pattern consists of zero or more non-whitespace characters, ‘*’ 
        (a wildcard that matches zero or more characters), or ‘?’ (a wildcard 
        that matches exactly one character).  For example, to specify a set of 
        declarations for any host in the “.co.uk” set of domains, the following 
        pattern could be used:

           Host *.co.uk

       The following pattern would match any host in the 192.168.0.[0-9] network 
       range:

           Host 192.168.0.?

       A pattern-list is a comma-separated list of patterns.  Patterns within 
       pattern-lists may be negated by preceding them with an exclamation mark 
       (‘!’).  For example, to allow a key to be used from anywhere within an 
       organisation except from the “dialup” pool, the following entry (in 
       authorized_keys) could be used:

          from="!*.dialup.example.com,*.example.com"

Example

Match User user1,user2
  Banner "none"
Related Question