Provided by: libconfig-model-openssh-perl_1.238-1_all bug

NAME

       Config::Model::models::Sshd::MatchElement - Configuration class Sshd::MatchElement

DESCRIPTION

       Configuration classes used by Config::Model

       Configuration class that represents all parameters available inside a Match block of a
       sshd configuration.

Elements

   AcceptEnv
       Specifies what environment variables sent by the client will be copied into the session's
       environ(7).  Optional. Type list of uniline.

   AllowAgentForwarding
       Specifies whether ssh-agent(1) forwarding is permitted.  Note that disabling agent
       forwarding does not improve security unless users are also denied shell access, as they
       can always install their own forwarders.  Optional. Type boolean.

       upstream_default value :
           1

   AllowGroups
       Login is allowed only for users whose primary group or supplementary group list matches
       one of the patterns. Only group names are valid; a numerical group ID is not recognized.
       By default, login is allowed for all groups. The allow/deny directives are processed in
       the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
       Optional. Type list of uniline.

   AllowUsers
       List of user name patterns, separated by spaces. If specified, login is allowed only for
       user names that match one of the patterns. Only user names are valid; a numerical user ID
       is not recognized. By default, login is allowed for all users. If the pattern takes the
       form USER@HOST then USER and HOST are separately checked, restricting logins to particular
       users from particular hosts. The allow/deny directives are processed in the following
       order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.  Optional. Type list of
       uniline.

   AuthenticationMethods - authentication methods that must be successfully completed for a user
       to be granted access
       Specifies the authentication methods that must be successfully completed for a user to be
       granted access. This option must be followed by one or more comma-separated lists of
       authentication method names. Successful authentication requires completion of every method
       in at least one of these lists.

       For example, an argument of "publickey,password publickey,keyboard-interactive" would
       require the user to complete public key authentication, followed by either password or
       keyboard interactive authentication. Only methods that are next in one or more lists are
       offered at each stage, so for this example, it would not be possible to attempt password
       or keyboard-interactive authentication before public key.

       For keyboard interactive authentication it is also possible to restrict authentication to
       a specific device by appending a colon followed by the device identifier "bsdauth", "pam",
       or "skey", depending on the server configuration. For example,
       "keyboard-interactive:bsdauth" would restrict keyboard interactive authentication to the
       "bsdauth" device.

       This option is only available for SSH protocol 2 and will yield a fatal error if enabled
       if protocol 1 is also enabled. Note that each authentication method listed should also be
       explicitly enabled in the configuration. The default is not to require multiple
       authentication; successful completion of a single authentication method is sufficient.
       Optional. Type uniline.

   AuthorizedKeysCommand - program to be used to look up the user's public keys
       Specifies a program to be used to look up the user's public keys. The program must be
       owned by root and not writable by group or others. It will be invoked with a single
       argument of the username being authenticated, and should produce on standard output zero
       or more lines of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a key
       supplied by AuthorizedKeysCommand does not successfully authenticate and authorize the
       user then public key authentication continues using the usual AuthorizedKeysFile files. By
       default, no AuthorizedKeysCommand is run.  Optional. Type uniline.

   AuthorizedKeysCommandUser -  user under whose account the AuthorizedKeysCommand is run
       Specifies the user under whose account the AuthorizedKeysCommand is run. It is recommended
       to use a dedicated user that has no other role on the host than running authorized keys
       commands.  Optional. Type uniline.

   AllowTcpForwarding
       Specifies whether TCP forwarding is permitted. The default is "yes".Note that disabling
       TCP forwarding does not improve security unless users are also denied shell access, as
       they can always install their own forwarders.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           yes

   AuthorizedKeysFile2
       Specifies the file that contains the public keys that can be used for user authentication.
       AuthorizedKeysFile may contain tokens of the form %T which are substituted during
       connection setup. Deprecated  Optional. Type list of uniline.

   AuthorizedKeysFile
       Specifies the file that contains the public keys that can be used for user authentication.
       The format is described in the AUTHORIZED_KEYS FILE FORMAT section of sshd(8).
       AuthorizedKeysFile may contain tokens of the form %T which are substituted during
       connection setup. The following tokens are defined: %% is replaced by a literal '%', %h is
       replaced by the home directory of the user being authenticated, and %u is replaced by the
       username of that user. After expansion, AuthorizedKeysFile is taken to be an absolute path
       or one relative to the user's home directory. Multiple files may be listed, separated by
       whitespace. The default is ".ssh/authorized_keys .ssh/authorized_keys2".  Optional. Type
       list of uniline.

       Note: AuthorizedKeysFile values are migrated from '- AuthorizedKeysFile2'

   AuthorizedPrincipalsFile - file that lists principal names that are accepted for certificate
       authentication
       Specifies a file that lists principal names that are accepted for certificate
       authentication.  When using certificates signed by a key listed in TrustedUserCAKeys, this
       file lists names, one of which must appear in the certificate for it to be accepted for
       authentication.  Names are listed one per line preceded by key options (as described in
       AUTHORIZED_KEYS FILE FORMAT in sshd(8)).  Empty lines and comments starting with '#' are
       ignored.

       AuthorizedPrincipalsFile may contain tokens of the form %T which are substituted during
       connection setup. The following tokens are defined: %% is replaced by a literal '%', %h is
       replaced by the home directory of the user being authenticated, and %u is replaced by the
       username of that user.  After expansion, AuthorizedPrincipalsFile is taken to be an
       absolute path or one relative to the user's home directory.

       The default is "none", i.e. not to use a principals file - in this case, the username of
       the user must appear in a certificate's principals list for it to be accepted.  Note that
       AuthorizedPrincipalsFile is only used when authentication proceeds using a CA listed in
       TrustedUserCAKeys and is not consulted for certification authorities trusted via
       ~/.ssh/authorized_keys, though the principals= key option offers a similar facility (see
       sshd(8) for details).  Optional. Type uniline.

   Banner
       In some jurisdictions, sending a warning message before authentication may be relevant for
       getting legal protection. The contents of the specified file are sent to the remote user
       before authentication is allowed. This option is only available for protocol version 2. By
       default, no banner is displayed.  Optional. Type uniline.

   ChrootDirectory - pathname of a directory to chroot to after authentication
       Specifies the pathname of a directory to chroot(2) to after authentication.  All
       components of the pathname must be root owned directories that are not writable by any
       other user or group.  After the chroot, sshd(8) changes the working directory to the
       user's home directory.

       The pathname may contain the following tokens that are expanded at runtime once the
       connecting user has been authenticated: %% is replaced by a literal '%', %h is replaced by
       the home directory of the user being authenticated, and %u is replaced by the username of
       that user.

       The ChrootDirectory must contain the necessary files and directories to support the user's
       session.  For an interactive session this requires at least a shell, typically sh(1), and
       basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4), arandom(4) and
       tty(4) devices.  For file transfer sessions using "sftp", no additional configuration of
       the environment is necessary if the in-process sftp server is used, though sessions which
       use logging do require /dev/log inside the chroot directory (see sftp-server(8) for
       details).

       The default is not to chroot(2).  Optional. Type uniline.

   DenyGroups
       This keyword can be followed by a list of group name patterns, separated by spaces.  Login
       is disallowed for users whose primary group or supplementary group list matches one of the
       patterns. Only group names are valid; a numerical group ID is not recognized. By default,
       login is allowed for all groups.  The allow/deny directives are processed in the following
       order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.  Optional. Type list of
       uniline.

   DenyUSers
       This keyword can be followed by a list of user name patterns, separated by spaces.  Login
       is disallowed for user names that match one of the patterns. Only user names are valid; a
       numerical user ID is not recognized. By default, login is allowed for all users. If the
       pattern takes the form USER@HOST then USER and HOST are separately checked, restricting
       logins to particular users from particular hosts. The allow/deny directives are processed
       in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
       Optional. Type list of uniline.

   ForceCommand
       Forces the execution of the command specified by ForceCommand, ignoring any command
       supplied by the client. The command is invoked by using the user's login shell with the -c
       option. This applies to shell, command, or subsystem execution. It is most useful inside a
       Match block. The command originally supplied by the client is available in the
       SSH_ORIGINAL_COMMAND environment variable.  Optional. Type uniline.

   GatewayPorts
       Specifies whether remote hosts are allowed to connect to ports forwarded for the client.
       By default, sshd(8) binds remote port forwardings to the loopback address. This prevents
       other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify
       that sshd should allow remote port forwardings to bind to non-loopback addresses, thus
       allowing other hosts to connect.  Optional. Type enum. choice: 'yes', 'clientspecified',
       'no'.

       upstream_default value :
           no

       Here are some explanations on the possible values:

       'clientspecified'
           allow the client to select the address to which the forwarding is bound

       'no'
           No port forwarding

       'yes'
           force remote port forwardings to bind to the wildcard address

   GSSAPIAuthentication
       Specifies whether user authentication based on GSSAPI is allowed. Note that this option
       applies to protocol version 2 only.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

   HostbasedAuthentication
       Specifies whether rhosts or /etc/hosts.equiv authentication together with successful
       public key client host authentication is allowed (host-based authentication). This option
       is similar to RhostsRSAAuthentication and applies to protocol version 2 only.  Optional.
       Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

   HostbasedUsesNameFromPacketOnly
       Specifies whether or not the server will attempt to perform a reverse name lookup when
       matching the name in the ~/.shosts, ~/.rhosts, and /etc/hosts.equiv files during
       HostbasedAuthentication.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

       Here are some explanations on the possible values:

       'no'
           sshd(8) attempts to resolve the name from the TCP connection itself.

       'yes'
           sshd(8) uses the name supplied by the client

   KbdInteractiveAuthentication
       No doc found in sshd documentation.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

   KerberosAuthentication
       Specifies whether the password provided by the user for PasswordAuthentication will be
       validated through the Kerberos KDC. To use this option, the server needs a Kerberos
       servtab which allows the verification of the KDC's identity. The default is "no".
       Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

   MaxAuthTries
       Specifies the maximum number of authentication attempts permitted per connection. Once the
       number of failures reaches half this value, additional failures are logged.  Optional.
       Type integer.

       upstream_default value :
           6

   MaxSessions - Specifies the maximum number of open sessions permitted per network connection
        Optional. Type integer.

       upstream_default value :
           10

   PasswordAuthentication
       Specifies whether password authentication is allowed.  Optional. Type enum. choice: 'no',
       'yes'.

       upstream_default value :
           yes

   PermitEmptyPasswords
       When password authentication is allowed, it specifies whether the server allows login to
       accounts with empty password strings.  The default is "no".  Optional. Type enum. choice:
       'no', 'yes'.

       upstream_default value :
           no

       Here are some explanations on the possible values:

       'yes'
           So, you want your machine to be part of a botnet ? ;-)

   PermitOpen
       Specifies the destinations to which TCP port forwarding is permitted. The forwarding
       specification must be one of the following forms: "host:port" or "IPv4_addr:port" or
       "[IPv6_addr]:port". An argument of "any" can be used to remove all restrictions and permit
       any forwarding requests. By default all port forwarding requests are permitted.  Optional.
       Type list of uniline.

   PermitRootLogin
       Specifies whether root can log in using ssh(1).  Optional. Type enum. choice: 'yes',
       'without-password', 'forced-commands-only', 'no'.

       upstream_default value :
           yes

       Here are some explanations on the possible values:

       'forced-commands-only'
           root login with public key authentication will be allowed, but only if the command
           option has been specified (which may be useful for taking remote backups even if root
           login is normally not allowed).  All other authentication methods are disabled for
           root.

       'no'
           root is not allowed to log in

       'without-password'
           password authentication is disabled for root

   PermitTunnel
       Specifies whether tun(4) device forwarding is allowed. The argument must be "yes", "point-
       to-point" (layer 3), "ethernet" (layer 2), or "no".  Specifying "yes" permits both "point-
       to-point" and "ethernet".  Optional. Type enum. choice: 'yes', 'point-to-point',
       'ethernet', 'no'.

       upstream_default value :
           no

       Here are some explanations on the possible values:

       'yes'
           permits both "point-to-point" and "ethernet"

   PubkeyAuthentication
       Specifies whether public key authentication is allowed.  The default is "yes". Note that
       this option applies to protocol version 2 only.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           yes

   RekeyLimit
       Specifies the maximum amount of data that may be transmitted before the session key is
       renegotiated, optionally followed a maximum amount of time that may pass before the
       session key is renegotiated.  The first argument is specified in bytes and may have a
       suffix of 'K', 'M', or 'G' to indicate Kilobytes, Megabytes, or Gigabytes, respectively.
       The default is between '1G' and '4G', depending on the cipher.  The optional second value
       is specified in seconds and may use any of the units documented in the TIME FORMATS
       section.  The default value for RekeyLimit is "default none", which means that rekeying is
       performed after the cipher's default amount of data has been sent or received and no time
       based rekeying is done.  This option applies to protocol version 2 only.  Optional. Type
       uniline.

       upstream_default value :
           default none

   RhostsRSAAuthentication
       Specifies whether rhosts or /etc/hosts.equiv authentication together with successful RSA
       host authentication is allowed.  The default is "no". This option applies to protocol
       version 1 only.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           no

   RSAAuthentication
       Specifies whether pure RSA authentication is allowed. This option applies to protocol
       version 1 only.  Optional. Type enum. choice: 'no', 'yes'.

       upstream_default value :
           yes

   X11DisplayOffset
       Specifies the first display number available for sshd(8)'s X11 forwarding. This prevents
       sshd from interfering with real X11 servers.  Optional. Type integer.

       upstream_default value :
           10

   X11Forwarding
       Specifies whether X11 forwarding is permitted. Note that disabling X11 forwarding does not
       prevent users from forwarding X11 traffic, as users can always install their own
       forwarders. X11 forwarding is automatically disabled if UseLogin is enabled.  Optional.
       Type enum. choice: 'yes', 'no'.

       upstream_default value :
           no

   X11UseLocalhost
       Specifies whether sshd(8) should bind the X11 forwarding server to the loopback address or
       to the wildcard address. By default, sshd binds the forwarding server to the loopback
       address and sets the hostname part of the DISPLAY environment variable to "localhost".
       This prevents remote hosts from connecting to the proxy display. However, some older X11
       clients may not function with this configuration. X11UseLocalhost may be set to "no" to
       specify that the forwarding server should be bound to the wildcard address.  Optional.
       Type enum. choice: 'yes', 'no'.

       upstream_default value :
           yes

SEE ALSO

       •   cme

AUTHOR

       Dominique Dumont

COPYRIGHT

       2009-2011 Dominique Dumont

LICENSE

       LGPL2

perl v5.26.1                                2017-10Config::Model::models::Sshd::MatchElement(3pm)