dwww Home | Manual pages | Find package

SSHD_CONFIG(5)                 File Formats Manual               SSHD_CONFIG(5)

NAME
       sshd_config — OpenSSH daemon configuration file

DESCRIPTION
       sshd(8)  reads configuration data from /etc/ssh/sshd_config (or the file
       specified with -f on the command line).  The file contains keyword-argu-
       ment pairs, one per line.  Unless noted otherwise, for each keyword, the
       first obtained value will be used.  Lines starting with  ‘#’  and  empty
       lines are interpreted as comments.  Arguments may optionally be enclosed
       in double quotes (") in order to represent arguments containing spaces.

       Note  that  the  Debian  openssh-server  package sets several options as
       standard in /etc/ssh/sshd_config which are not the default in sshd(8):

             •   Include /etc/ssh/sshd_config.d/*.conf
             •   KbdInteractiveAuthentication no
             •   X11Forwarding yes
             •   PrintMotd no
             •   AcceptEnv LANG LC_* COLORTERM NO_COLOR
             •   Subsystem sftp /usr/lib/openssh/sftp-server
             •   UsePAM yes

       /etc/ssh/sshd_config.d/*.conf files are included at  the  start  of  the
       configuration  file,  so  options  set  there  will  override  those  in
       /etc/ssh/sshd_config.

       The possible keywords and their meanings are as follows (note that  key-
       words are case-insensitive and arguments are case-sensitive):

       AcceptEnv
               Specifies  what environment variables sent by the client will be
               copied into the session's environ(7).  See SendEnv and SetEnv in
               ssh_config(5) for how to configure the client.  The  TERM  envi-
               ronment variable is always accepted whenever the client requests
               a  pseudo-terminal as it is required by the protocol.  Variables
               are specified by name, which may contain the wildcard characters
               ‘*’ and ‘?’.  Multiple environment variables may be separated by
               whitespace or spread across multiple AcceptEnv  directives.   Be
               warned  that  some environment variables could be used to bypass
               restricted user environments.  For this reason, care  should  be
               taken  in  the use of this directive.  The default is not to ac-
               cept any environment variables.

       AddressFamily
               Specifies which address family should be used by sshd(8).  Valid
               arguments are any (the default), inet (use IPv4 only), or  inet6
               (use IPv6 only).

       AllowAgentForwarding
               Specifies whether ssh-agent(1) forwarding is permitted.  The de-
               fault is yes.  Note that disabling agent forwarding does not im-
               prove  security  unless  users  are also denied shell access, as
               they can always install their own forwarders.

       AllowGroups
               This keyword can be followed by a list of group  name  patterns,
               separated  by  spaces.   If specified, 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 groups directives are processed in
               the following order: DenyGroups, AllowGroups.

               See PATTERNS in ssh_config(5) for more information on  patterns.
               This  keyword may appear multiple times in sshd_config with each
               instance appending to the list.

       AllowStreamLocalForwarding
               Specifies whether StreamLocal (Unix-domain socket) forwarding is
               permitted.  The available options are yes (the default)  or  all
               to  allow  StreamLocal forwarding, no to prevent all StreamLocal
               forwarding, local  to  allow  local  (from  the  perspective  of
               ssh(1))  forwarding  only  or  remote to allow remote forwarding
               only.  Note that disabling StreamLocal forwarding does  not  im-
               prove  security  unless  users  are also denied shell access, as
               they can always install their own forwarders.

       AllowTcpForwarding
               Specifies whether TCP forwarding is  permitted.   The  available
               options are yes (the default) or all to allow TCP forwarding, no
               to  prevent  all  TCP forwarding, local to allow local (from the
               perspective of ssh(1)) forwarding only or remote to allow remote
               forwarding only.  Note that disabling TCP  forwarding  does  not
               improve  security  unless users are also denied shell access, as
               they can always install their own forwarders.

       AllowUsers
               This keyword can be followed by a 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.  HOST criteria
               may  additionally  contain  addresses  to  match  in  CIDR   ad-
               dress/masklen  format.   The  allow/deny  users  directives  are
               processed in the following order: DenyUsers, AllowUsers.

               See PATTERNS in ssh_config(5) for more information on  patterns.
               This  keyword may appear multiple times in sshd_config with each
               instance appending to the list.

       AuthenticationMethods
               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 lists of comma-separated  authentication
               method  names,  or  by the single string any to indicate the de-
               fault behaviour of accepting any single  authentication  method.
               If the default is overridden, then successful authentication re-
               quires  completion  of  every  method  in  at least one of these
               lists.

               For example, "publickey,password publickey,keyboard-interactive"
               would require the user to complete  public  key  authentication,
               followed  by either password or keyboard interactive authentica-
               tion.  Only methods that are next in one or more lists  are  of-
               fered  at each stage, so for this example it would not be possi-
               ble 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 or pam.  depend-
               ing    on    the    server    configuration.     For    example,
               "keyboard-interactive:bsdauth" would restrict keyboard  interac-
               tive authentication to the bsdauth device.

               If  the publickey method is listed more than once, sshd(8) veri-
               fies that keys that have been used successfully are  not  reused
               for      subsequent      authentications.       For     example,
               "publickey,publickey" requires successful  authentication  using
               two different public keys.

               Note  that  each authentication method listed should also be ex-
               plicitly enabled in the configuration.

               The available  authentication  methods  are:  "gssapi-with-mic",
               "hostbased",  "keyboard-interactive", "none" (used for access to
               password-less accounts when  PermitEmptyPasswords  is  enabled),
               "password" and "publickey".

       AuthorizedKeysCommand
               Specifies  a  program  to  be  used to look up the user's public
               keys.  The program must be owned by root, not writable by  group
               or  others  and  specified  by  an  absolute path.  Arguments to
               AuthorizedKeysCommand  accept  the  tokens  described   in   the
               “TOKENS”  section.  If no arguments are specified then the user-
               name of the target user is used.

               The program should produce on standard output zero or more lines
               of authorized_keys  output  (see  AUTHORIZED_KEYS  in  sshd(8)).
               AuthorizedKeysCommand     is     tried     after    the    usual
               AuthorizedKeysFile files and will not be executed if a  matching
               key  is  found  there.   By default, no AuthorizedKeysCommand is
               run.

       AuthorizedKeysCommandUser
               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.
               If      AuthorizedKeysCommand       is       specified       but
               AuthorizedKeysCommandUser  is  not,  then sshd(8) will refuse to
               start.

       AuthorizedKeysFile
               Specifies the file that contains the public keys used  for  user
               authentication.   The format is described in the AUTHORIZED_KEYS
               FILE FORMAT section of sshd(8).  Arguments to AuthorizedKeysFile
               may include wildcards and accept the  tokens  described  in  the
               “TOKENS”  section.  After expansion, AuthorizedKeysFile is taken
               to be an absolute path or one relative to the user's home direc-
               tory.  Multiple files may be listed,  separated  by  whitespace.
               Alternately  this option may be set to none to skip checking for
               user  keys  in  files.   The  default  is  ".ssh/authorized_keys
               .ssh/authorized_keys2".

       AuthorizedPrincipalsCommand
               Specifies  a  program to be used to generate the list of allowed
               certificate principals  as  per  AuthorizedPrincipalsFile.   The
               program  must  be owned by root, not writable by group or others
               and   specified   by   an   absolute   path.     Arguments    to
               AuthorizedPrincipalsCommand  accept  the tokens described in the
               “TOKENS” section.  If no arguments are specified then the  user-
               name of the target user is used.

               The program should produce on standard output zero or more lines
               of      AuthorizedPrincipalsFile      output.      If     either
               AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is spec-
               ified, then certificates offered by the client  for  authentica-
               tion  must  contain  a principal that is listed.  By default, no
               AuthorizedPrincipalsCommand is run.

       AuthorizedPrincipalsCommandUser
               Specifies    the    user     under     whose     account     the
               AuthorizedPrincipalsCommand  is run.  It is recommended to use a
               dedicated user that has no other role on the host  than  running
               authorized  principals commands.  If AuthorizedPrincipalsCommand
               is specified but AuthorizedPrincipalsCommandUser  is  not,  then
               sshd(8) will refuse to start.

       AuthorizedPrincipalsFile
               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  ig-
               nored.

               Arguments  to AuthorizedPrincipalsFile may include wildcards and
               accept the tokens described in the “TOKENS” section.  After  ex-
               pansion,  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 authentica-
               tion  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).

       Banner  The  contents  of the specified file are sent to the remote user
               before authentication is allowed.  If the argument is none  then
               no banner is displayed.  By default, no banner is displayed.

       CASignatureAlgorithms
               Specifies  which  algorithms are allowed for signing of certifi-
               cates by certificate authorities (CAs).  The default is:

                     ssh-ed25519,ecdsa-sha2-nistp256,
                     ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
                     sk-ssh-ed25519@openssh.com,
                     sk-ecdsa-sha2-nistp256@openssh.com,
                     rsa-sha2-512,rsa-sha2-256

               If the specified list begins with  a  ‘+’  character,  then  the
               specified algorithms will be appended to the default set instead
               of  replacing  them.   If  the  specified list begins with a ‘-’
               character, then the specified algorithms  (including  wildcards)
               will be removed from the default set instead of replacing them.

               Certificates  signed using other algorithms will not be accepted
               for public key or host-based authentication.

       ChannelTimeout
               Specifies whether and how quickly sshd(8) should close  inactive
               channels.  Timeouts are specified as one or more “type=interval”
               pairs separated by whitespace, where the “type” must be the spe-
               cial  keyword  “global” or a channel type name from the list be-
               low, optionally containing wildcard characters.

               The timeout value “interval” is specified in seconds or may  use
               any  of the units documented in the “TIME FORMATS” section.  For
               example, “session=5m” would cause interactive sessions to termi-
               nate after five minutes of inactivity.  Specifying a zero  value
               disables the inactivity timeout.

               The  special  timeout  “global”  applies to all active channels,
               taken together.  Traffic on any active channel  will  reset  the
               timeout,  but  when  the  timeout expires then all open channels
               will be closed.  Note that this global timeout is not matched by
               wildcards and must be specified explicitly.

               The available channel type names include:

               agent-connection
                       Open connections to ssh-agent(1).

               direct-tcpip, direct-streamlocal@openssh.com
                       Open TCP or Unix socket (respectively) connections  that
                       have  been  established  from a ssh(1) local forwarding,
                       i.e. LocalForward or DynamicForward.

               forwarded-tcpip, forwarded-streamlocal@openssh.com
                       Open TCP or Unix socket (respectively) connections  that
                       have  been  established to a sshd(8) listening on behalf
                       of a ssh(1) remote forwarding, i.e. RemoteForward.

               session
                       The interactive main session, including  shell  session,
                       command execution, scp(1), sftp(1), etc.

               tun-connection
                       Open TunnelForward connections.

               x11-connection
                       Open X11 forwarding sessions.

               Note  that  in all the above cases, terminating an inactive ses-
               sion does not guarantee to remove all resources associated  with
               the session, e.g. shell processes or X11 clients relating to the
               session may continue to execute.

               Moreover,  terminating  an  inactive channel or session does not
               necessarily close the SSH connection,  nor  does  it  prevent  a
               client  from  requesting  another  channel of the same type.  In
               particular, expiring an inactive  forwarding  session  does  not
               prevent  another  identical  forwarding  from being subsequently
               created.

               The default is not to expire channels of any type  for  inactiv-
               ity.

       ChrootDirectory
               Specifies  the pathname of a directory to chroot(2) to after au-
               thentication.  At session startup sshd(8) checks that all compo-
               nents of the pathname are root-owned directories which  are  not
               writable  by group or others.  After the chroot, sshd(8) changes
               the working directory to the user's home  directory.   Arguments
               to  ChrootDirectory  accept the tokens described in the “TOKENS”
               section.

               The ChrootDirectory must contain the necessary files and  direc-
               tories  to  support the user's session.  For an interactive ses-
               sion 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), 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 may require /dev/log inside the chroot directory on some
               operating systems (see sftp-server(8) for details).

               For safety, it is very important that the directory hierarchy be
               prevented from modification by other  processes  on  the  system
               (especially  those outside the jail).  Misconfiguration can lead
               to unsafe environments which sshd(8) cannot detect.

               The default is none, indicating not to chroot(2).

       Ciphers
               Specifies the ciphers allowed.  Multiple ciphers must be  comma-
               separated.   If  the specified list begins with a ‘+’ character,
               then the specified ciphers will be appended to the  default  set
               instead  of replacing them.  If the specified list begins with a
               ‘-’ character, then the specified ciphers (including  wildcards)
               will  be removed from the default set instead of replacing them.
               If the specified list begins with  a  ‘^’  character,  then  the
               specified ciphers will be placed at the head of the default set.

               The supported ciphers are:

                     3des-cbc
                     aes128-cbc
                     aes192-cbc
                     aes256-cbc
                     aes128-ctr
                     aes192-ctr
                     aes256-ctr
                     aes128-gcm@openssh.com
                     aes256-gcm@openssh.com
                     chacha20-poly1305@openssh.com

               The default is:

                     chacha20-poly1305@openssh.com,
                     aes128-gcm@openssh.com,aes256-gcm@openssh.com,
                     aes128-ctr,aes192-ctr,aes256-ctr

               The list of available ciphers may also be obtained using "ssh -Q
               cipher".

       ClientAliveCountMax
               Sets the number of client alive messages which may be sent with-
               out  sshd(8)  receiving  any  messages back from the client.  If
               this threshold is reached while client alive messages are  being
               sent,  sshd will disconnect the client, terminating the session.
               It is important to note that the use of client alive messages is
               very different from TCPKeepAlive.  The client alive messages are
               sent through the encrypted channel and  therefore  will  not  be
               spoofable.   The TCP keepalive option enabled by TCPKeepAlive is
               spoofable.  The client alive  mechanism  is  valuable  when  the
               client  or server depend on knowing when a connection has become
               unresponsive.

               The default value is 3.  If ClientAliveInterval is  set  to  15,
               and ClientAliveCountMax is left at the default, unresponsive SSH
               clients  will  be  disconnected  after approximately 45 seconds.
               Setting a zero ClientAliveCountMax disables connection  termina-
               tion.

       ClientAliveInterval
               Sets  a  timeout  interval in seconds after which if no data has
               been received from the  client,  sshd(8)  will  send  a  message
               through  the  encrypted  channel  to request a response from the
               client.  The default is 0, indicating that these  messages  will
               not be sent to the client.

       Compression
               Specifies  whether compression is enabled after the user has au-
               thenticated successfully.  The argument must be yes, delayed  (a
               legacy synonym for yes) or no.  The default is yes.

       DebianBanner
               Specifies  whether the distribution-specified extra version suf-
               fix is included during initial protocol handshake.  The  default
               is yes.

       DenyGroups
               This  keyword  can be followed by a list of group name patterns,
               separated by spaces.  Login is disallowed for users  whose  pri-
               mary  group  or supplementary group list matches one of the pat-
               terns.  Only group names are valid; a numerical group ID is  not
               recognized.   By  default, login is allowed for all groups.  The
               allow/deny groups directives are processed in the following  or-
               der: DenyGroups, AllowGroups.

               See  PATTERNS in ssh_config(5) for more information on patterns.
               This keyword may appear multiple times in sshd_config with  each
               instance appending to the list.

       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 numeri-
               cal 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  particu-
               lar users from particular hosts.  HOST criteria may additionally
               contain  addresses to match in CIDR address/masklen format.  The
               allow/deny users directives are processed in the  following  or-
               der: DenyUsers, AllowUsers.

               See  PATTERNS in ssh_config(5) for more information on patterns.
               This keyword may appear multiple times in sshd_config with  each
               instance appending to the list.

       DisableForwarding
               Disables  all  forwarding features, including X11, ssh-agent(1),
               TCP and StreamLocal.  This option overrides all  other  forward-
               ing-related options and may simplify restricted configurations.

       ExposeAuthInfo
               Writes  a  temporary  file  containing  a list of authentication
               methods and public credentials (e.g. keys) used to  authenticate
               the  user.  The location of the file is exposed to the user ses-
               sion through the SSH_USER_AUTH environment  variable.   The  de-
               fault is no.

       FingerprintHash
               Specifies the hash algorithm used when logging key fingerprints.
               Valid options are: md5 and sha256.  The default is sha256.

       ForceCommand
               Forces  the  execution of the command specified by ForceCommand,
               ignoring any command supplied by the  client  and  ~/.ssh/rc  if
               present.  The command is invoked by using the user's login shell
               with  the -c option.  This applies to shell, command, or subsys-
               tem 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.  Specifying a command
               of internal-sftp will force the use of an in-process SFTP server
               that requires no support files when used  with  ChrootDirectory.
               The default is none.

       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.   The  argument may be no to force remote port forward-
               ings to be available to the local host only, yes to force remote
               port  forwardings  to  bind  to   the   wildcard   address,   or
               clientspecified  to  allow  the  client to select the address to
               which the forwarding is bound.  The default is no.

       GSSAPIAuthentication
               Specifies whether user authentication based  on  GSSAPI  is  al-
               lowed.  The default is no.

       GSSAPICleanupCredentials
               Specifies  whether  to  automatically destroy the user's creden-
               tials cache on logout.  The default is yes.

       GSSAPIKeyExchange
               Specifies whether key exchange based on GSSAPI is allowed.  GSS-
               API  key  exchange doesn't rely on ssh keys to verify host iden-
               tity.  The default is no.

       GSSAPIStrictAcceptorCheck
               Determines whether to be strict about the identity of the GSSAPI
               acceptor a client authenticates against.  If set to yes then the
               client must authenticate against the host service on the current
               hostname.  If set to no then the client may authenticate against
               any service key stored in the machine's default store.  This fa-
               cility is provided to assist with operation on multi  homed  ma-
               chines.  The default is yes.

       GSSAPIStoreCredentialsOnRekey
               Controls whether the user's GSSAPI credentials should be updated
               following  a  successful connection rekeying. This option can be
               used to accepted renewed or updated credentials from a  compati-
               ble client. The default is “no”.

               For  this  to  work GSSAPIKeyExchange needs to be enabled in the
               server and also used by the client.

       GSSAPIKexAlgorithms
               The list of key exchange algorithms that are accepted by  GSSAPI
               key exchange. Possible values are

                  gss-gex-sha1-,
                  gss-group1-sha1-,
                  gss-group14-sha1-,
                  gss-group14-sha256-,
                  gss-group16-sha512-,
                  gss-nistp256-sha256-,
                  gss-curve25519-sha256-

               The                          default                          is
               “gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1-”.
               This option only applies to connections using GSSAPI.

       HostbasedAcceptedAlgorithms
               Specifies the signature algorithms that  will  be  accepted  for
               hostbased  authentication as a list of comma-separated patterns.
               Alternately if the specified list begins with a  ‘+’  character,
               then  the specified signature algorithms will be appended to the
               default set instead of replacing them.  If  the  specified  list
               begins  with a ‘-’ character, then the specified signature algo-
               rithms (including wildcards) will be removed  from  the  default
               set  instead  of  replacing  them.  If the specified list begins
               with a ‘^’ character, then the  specified  signature  algorithms
               will  be placed at the head of the default set.  The default for
               this option is:

                  ssh-ed25519-cert-v01@openssh.com,
                  ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  ecdsa-sha2-nistp384-cert-v01@openssh.com,
                  ecdsa-sha2-nistp521-cert-v01@openssh.com,
                  sk-ssh-ed25519-cert-v01@openssh.com,
                  sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  rsa-sha2-512-cert-v01@openssh.com,
                  rsa-sha2-256-cert-v01@openssh.com,
                  ssh-ed25519,
                  ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
                  sk-ssh-ed25519@openssh.com,
                  sk-ecdsa-sha2-nistp256@openssh.com,
                  rsa-sha2-512,rsa-sha2-256

               The list of available signature algorithms may also be  obtained
               using  "ssh  -Q HostbasedAcceptedAlgorithms".  This was formerly
               named HostbasedAcceptedKeyTypes.

       HostbasedAuthentication
               Specifies whether rhosts or /etc/hosts.equiv authentication  to-
               gether  with successful public key client host authentication is
               allowed (host-based authentication).  The default is 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.   A  setting  of yes means that sshd(8)
               uses the name supplied by the client rather than  attempting  to
               resolve the name from the TCP connection itself.  The default is
               no.

       HostCertificate
               Specifies a file containing a public host certificate.  The cer-
               tificate's  public  key  must  match  a private host key already
               specified by HostKey.  The default behaviour of sshd(8)  is  not
               to load any certificates.

       HostKey
               Specifies a file containing a private host key used by SSH.  The
               defaults             are            /etc/ssh/ssh_host_ecdsa_key,
               /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key.

               Note  that  sshd(8)  will  refuse  to  use  a  file  if  it   is
               group/world-accessible and that the HostKeyAlgorithms option re-
               stricts which of the keys are actually used by sshd(8).

               It is possible to have multiple host key files.  It is also pos-
               sible  to  specify  public host key files instead.  In this case
               operations  on  the  private  key  will  be  delegated   to   an
               ssh-agent(1).

       HostKeyAgent
               Identifies  the  UNIX-domain  socket used to communicate with an
               agent that has access to the private host keys.  If  the  string
               "SSH_AUTH_SOCK" is specified, the location of the socket will be
               read from the SSH_AUTH_SOCK environment variable.

       HostKeyAlgorithms
               Specifies  the host key signature algorithms that the server of-
               fers.  The default for this option is:

                  ssh-ed25519-cert-v01@openssh.com,
                  ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  ecdsa-sha2-nistp384-cert-v01@openssh.com,
                  ecdsa-sha2-nistp521-cert-v01@openssh.com,
                  sk-ssh-ed25519-cert-v01@openssh.com,
                  sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  rsa-sha2-512-cert-v01@openssh.com,
                  rsa-sha2-256-cert-v01@openssh.com,
                  ssh-ed25519,
                  ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
                  sk-ssh-ed25519@openssh.com,
                  sk-ecdsa-sha2-nistp256@openssh.com,
                  rsa-sha2-512,rsa-sha2-256

               The list of available signature algorithms may also be  obtained
               using "ssh -Q HostKeyAlgorithms".

       IgnoreRhosts
               Specifies  whether  to ignore per-user .rhosts and .shosts files
               during      HostbasedAuthentication.       The       system-wide
               /etc/hosts.equiv  and  /etc/ssh/shosts.equiv  are still used re-
               gardless of this setting.

               Accepted values are yes (the default)  to  ignore  all  per-user
               files,  shosts-only  to  allow  the use of .shosts but to ignore
               .rhosts or no to allow both .shosts and rhosts.

       IgnoreUserKnownHosts
               Specifies   whether   sshd(8)   should   ignore    the    user's
               ~/.ssh/known_hosts  during  HostbasedAuthentication and use only
               the system-wide known hosts file /etc/ssh/ssh_known_hosts.   The
               default is “no”.

       Include
               Include the specified configuration file(s).  Multiple pathnames
               may be specified and each pathname may contain glob(7) wildcards
               that  will  be  expanded  and processed in lexical order.  Files
               without absolute paths  are  assumed  to  be  in  /etc/ssh.   An
               Include  directive  may  appear  inside a Match block to perform
               conditional inclusion.

       IPQoS   Specifies the IPv4 type-of-service or DSCP class for the connec-
               tion.  Accepted values are af11, af12, af13, af21,  af22,  af23,
               af31,  af32,  af33,  af41,  af42, af43, cs0, cs1, cs2, cs3, cs4,
               cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, a  nu-
               meric  value, or none to use the operating system default.  This
               option may take one or two arguments, separated  by  whitespace.
               If one argument is specified, it is used as the packet class un-
               conditionally.   If two values are specified, the first is auto-
               matically selected for interactive sessions and the  second  for
               non-interactive  sessions.  The default is lowdelay for interac-
               tive sessions and throughput for non-interactive sessions.

       KbdInteractiveAuthentication
               Specifies whether to allow keyboard-interactive  authentication.
               The default is yes.  The argument to this keyword must be yes or
               no.   ChallengeResponseAuthentication  is a deprecated alias for
               this.

       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 de-
               fault is no.

       KerberosGetAFSToken
               If AFS is active and the user has a Kerberos 5 TGT,  attempt  to
               acquire an AFS token before accessing the user's home directory.
               The default is no.

       KerberosOrLocalPasswd
               If password authentication through Kerberos fails then the pass-
               word  will  be validated via any additional local mechanism such
               as /etc/passwd.  The default is yes.

       KerberosTicketCleanup
               Specifies whether to automatically  destroy  the  user's  ticket
               cache file on logout.  The default is yes.

       KexAlgorithms
               Specifies  the  permitted KEX (Key Exchange) algorithms that the
               server will offer to clients.  The ordering of this list is  not
               important, as the client specifies the preference order.  Multi-
               ple algorithms must be comma-separated.

               If  the  specified  list  begins  with a ‘+’ character, then the
               specified algorithms will be appended to the default set instead
               of replacing them.  If the specified  list  begins  with  a  ‘-’
               character,  then  the specified algorithms (including wildcards)
               will be removed from the default set instead of replacing  them.
               If  the  specified  list  begins  with a ‘^’ character, then the
               specified algorithms will be placed at the head of  the  default
               set.

               The supported algorithms are:

                     curve25519-sha256
                     curve25519-sha256@libssh.org
                     diffie-hellman-group1-sha1
                     diffie-hellman-group14-sha1
                     diffie-hellman-group14-sha256
                     diffie-hellman-group16-sha512
                     diffie-hellman-group18-sha512
                     diffie-hellman-group-exchange-sha1
                     diffie-hellman-group-exchange-sha256
                     ecdh-sha2-nistp256
                     ecdh-sha2-nistp384
                     ecdh-sha2-nistp521
                     mlkem768x25519-sha256
                     sntrup761x25519-sha512
                     sntrup761x25519-sha512@openssh.com

               The default is:

                     mlkem768x25519-sha256,
                     sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,
                     curve25519-sha256,curve25519-sha256@libssh.org,
                     ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521

               The  list  of  supported key exchange algorithms may also be ob-
               tained using "ssh -Q KexAlgorithms".

       ListenAddress
               Specifies the local addresses sshd(8)  should  listen  on.   The
               following forms may be used:

                     ListenAddress hostname|address [rdomain domain]
                     ListenAddress hostname:port [rdomain domain]
                     ListenAddress IPv4_address:port [rdomain domain]
                     ListenAddress [hostname|address]:port [rdomain domain]

               The optional rdomain qualifier requests sshd(8) listen in an ex-
               plicit routing domain.  If port is not specified, sshd will lis-
               ten  on the address and all Port options specified.  The default
               is to listen on all local addresses on the current default rout-
               ing domain.  Multiple ListenAddress options are permitted.

               On Linux, routing domains are implemented using Virtual  Routing
               and   Forwarding  domains  (VRFs);  for  more  information,  see
               ip-vrf(8).

       LoginGraceTime
               The server disconnects after this time if the user has not  suc-
               cessfully logged in.  If the value is 0, there is no time limit.
               The default is 120 seconds.

       LogLevel
               Gives  the  verbosity  level  that is used when logging messages
               from sshd(8).  The possible values  are:  QUIET,  FATAL,  ERROR,
               INFO,  VERBOSE,  DEBUG, DEBUG1, DEBUG2, and DEBUG3.  The default
               is INFO.  DEBUG and DEBUG1 are equivalent.   DEBUG2  and  DEBUG3
               each  specify higher levels of debugging output.  Logging with a
               DEBUG level violates the privacy of  users  and  is  not  recom-
               mended.

       LogVerbose
               Specify one or more overrides to LogLevel.  An override consists
               of one or more pattern lists that matches the source file, func-
               tion  and  line number to force detailed logging for.  For exam-
               ple, an override pattern of:

                     kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*

               would enable detailed logging for line 1000 of kex.c, everything
               in the kex_exchange_identification() function, and all  code  in
               the packet.c file.  This option is intended for debugging and no
               overrides are enabled by default.

       MACs    Specifies  the available MAC (message authentication code) algo-
               rithms.  The MAC algorithm is used for  data  integrity  protec-
               tion.   Multiple  algorithms  must  be  comma-separated.  If the
               specified list begins with a ‘+’ character, then  the  specified
               algorithms  will  be  appended to the default set instead of re-
               placing them.  If the specified list begins with a  ‘-’  charac-
               ter, then the specified algorithms (including wildcards) will be
               removed  from the default set instead of replacing them.  If the
               specified list begins with a ‘^’ character, then  the  specified
               algorithms will be placed at the head of the default set.

               The  algorithms  that contain "-etm" calculate the MAC after en-
               cryption (encrypt-then-mac).  These  are  considered  safer  and
               their use recommended.  The supported MACs are:

                     hmac-md5
                     hmac-md5-96
                     hmac-sha1
                     hmac-sha1-96
                     hmac-sha2-256
                     hmac-sha2-512
                     umac-64@openssh.com
                     umac-128@openssh.com
                     hmac-md5-etm@openssh.com
                     hmac-md5-96-etm@openssh.com
                     hmac-sha1-etm@openssh.com
                     hmac-sha1-96-etm@openssh.com
                     hmac-sha2-256-etm@openssh.com
                     hmac-sha2-512-etm@openssh.com
                     umac-64-etm@openssh.com
                     umac-128-etm@openssh.com

               The default is:

                     umac-64-etm@openssh.com,umac-128-etm@openssh.com,
                     hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
                     hmac-sha1-etm@openssh.com,
                     umac-64@openssh.com,umac-128@openssh.com,
                     hmac-sha2-256,hmac-sha2-512,hmac-sha1

               The  list of available MAC algorithms may also be obtained using
               "ssh -Q mac".

       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, un-
               til either another Match line or the end of the file.  If a key-
               word appears in multiple Match blocks that are  satisfied,  only
               the first instance of the keyword is applied.

               The arguments to Match are one or more criteria-pattern pairs or
               one  of the single token criteria: All, which matches all crite-
               ria, or Invalid-User, which matches when the requested user-name
               does not match any known account.  The  available  criteria  are
               User,  Group,  Host,  LocalAddress, LocalPort, Version, RDomain,
               and Address (with RDomain representing  the  routing  domain  on
               which the connection was received; see ip-vrf(8)).

               The  match patterns may consist of single entries or comma-sepa-
               rated lists and may use the wildcard and negation operators  de-
               scribed in the “PATTERNS” section of ssh_config(5).

               The patterns in an Address criteria may additionally contain ad-
               dresses  to  match  in  CIDR  address/masklen  format,  such  as
               192.0.2.0/24 or 2001:db8::/32.  Note that the mask  length  pro-
               vided  must  be  consistent with the address - it is an error to
               specify a mask length that is too long for the  address  or  one
               with bits set in this host portion of the address.  For example,
               192.0.2.0/33 and 192.0.2.0/8, respectively.

               The  Version  keyword  matches  against  the  version  string of
               sshd(8), for example “OpenSSH_10.0”.

               Only a subset of keywords may be used on the lines  following  a
               Match    keyword.     Available    keywords    are    AcceptEnv,
               AllowAgentForwarding,  AllowGroups,  AllowStreamLocalForwarding,
               AllowTcpForwarding,      AllowUsers,      AuthenticationMethods,
               AuthorizedKeysCommand,                AuthorizedKeysCommandUser,
               AuthorizedKeysFile,                 AuthorizedPrincipalsCommand,
               AuthorizedPrincipalsCommandUser,       AuthorizedPrincipalsFile,
               Banner,  CASignatureAlgorithms, ChannelTimeout, ChrootDirectory,
               ClientAliveCountMax, ClientAliveInterval, DenyGroups, DenyUsers,
               DisableForwarding, ExposeAuthInfo,  ForceCommand,  GatewayPorts,
               GSSAPIAuthentication,               HostbasedAcceptedAlgorithms,
               HostbasedAuthentication,        HostbasedUsesNameFromPacketOnly,
               IgnoreRhosts,   Include,   IPQoS,  KbdInteractiveAuthentication,
               KerberosAuthentication,  LogLevel,  MaxAuthTries,   MaxSessions,
               PAMServiceName,   PasswordAuthentication,  PermitEmptyPasswords,
               PermitListen,    PermitOpen,     PermitRootLogin,     PermitTTY,
               PermitTunnel,       PermitUserRC,      PubkeyAcceptedAlgorithms,
               PubkeyAuthentication,    PubkeyAuthOptions,    RefuseConnection,
               RekeyLimit,     RevokedKeys,     SetEnv,    StreamLocalBindMask,
               StreamLocalBindUnlink,                        TrustedUserCAKeys,
               UnusedConnectionTimeout,   X11DisplayOffset,  X11Forwarding  and
               X11UseLocalhost.

       MaxAuthTries
               Specifies the maximum number of authentication attempts  permit-
               ted  per  connection.   Once the number of failures reaches half
               this value, additional failures are logged.  The default is 6.

       MaxSessions
               Specifies the maximum number of open shell, login  or  subsystem
               (e.g. sftp) sessions permitted per network connection.  Multiple
               sessions  may  be established by clients that support connection
               multiplexing.  Setting MaxSessions to 1 will effectively disable
               session multiplexing, whereas setting it to 0 will  prevent  all
               shell,  login and subsystem sessions while still permitting for-
               warding.  The default is 10.

       MaxStartups
               Specifies the maximum number of concurrent unauthenticated  con-
               nections  to  the  SSH  daemon.   Additional connections will be
               dropped until authentication succeeds or the LoginGraceTime  ex-
               pires for a connection.  The default is 10:30:100.

               Alternatively,  random  early  drop can be enabled by specifying
               the  three  colon   separated   values   start:rate:full   (e.g.
               "10:30:60").   sshd(8)  will  refuse  connection attempts with a
               probability of rate/100 (30%) if there are currently start  (10)
               unauthenticated connections.  The probability increases linearly
               and  all  connection attempts are refused if the number of unau-
               thenticated connections reaches full (60).

       ModuliFile
               Specifies the moduli(5) file that  contains  the  Diffie-Hellman
               groups  used  for  the  “diffie-hellman-group-exchange-sha1” and
               “diffie-hellman-group-exchange-sha256”  key  exchange   methods.
               The default is /etc/ssh/moduli.

       PAMServiceName
               Specifies  the  service  name  used for Pluggable Authentication
               Modules (PAM) authentication, authorisation and session controls
               when UsePAM is enabled.  The default is sshd.

       PasswordAuthentication
               Specifies whether password authentication is allowed.   The  de-
               fault is yes.

       PermitEmptyPasswords
               When  password  authentication  is allowed, it specifies whether
               the server allows login to accounts with empty password strings.
               The default is no.

       PermitListen
               Specifies the addresses/ports on which a remote  TCP  port  for-
               warding may listen.  The listen specification must be one of the
               following forms:

                     PermitListen port
                     PermitListen host:port

               Multiple  permissions  may  be specified by separating them with
               whitespace.  An argument of any can be used to  remove  all  re-
               strictions  and permit any listen requests.  An argument of none
               can be used to prohibit all listen requests.  The host name  may
               contain  wildcards  as  described  in  the  PATTERNS  section in
               ssh_config(5).  The wildcard ‘*’ can also be used in place of  a
               port  number to allow all ports.  By default all port forwarding
               listen requests are permitted.  Note that the  GatewayPorts  op-
               tion  may  further  restrict which addresses may be listened on.
               Note also that ssh(1) will request a listen host of  “localhost”
               if  no  listen host was specifically requested, and this name is
               treated  differently  to   explicit   localhost   addresses   of
               “127.0.0.1” and “::1”.

       PermitOpen
               Specifies  the destinations to which TCP port forwarding is per-
               mitted.  The forwarding specification must be one of the follow-
               ing forms:

                     PermitOpen host:port
                     PermitOpen IPv4_addr:port
                     PermitOpen [IPv6_addr]:port

               Multiple forwards may  be  specified  by  separating  them  with
               whitespace.   An  argument  of any can be used to remove all re-
               strictions and permit any forwarding requests.  An  argument  of
               none can be used to prohibit all forwarding requests.  The wild-
               card  ‘*’  can  be  used  for host or port to allow all hosts or
               ports respectively.  Otherwise, no pattern matching  or  address
               lookups  are  performed  on supplied names.  By default all port
               forwarding requests are permitted.

       PermitRootLogin
               Specifies whether root can log in using  ssh(1).   The  argument
               must  be  yes,  prohibit-password,  forced-commands-only, or no.
               The default is prohibit-password.

               If this option is set to prohibit-password  (or  its  deprecated
               alias,  without-password), password and keyboard-interactive au-
               thentication are disabled for root.

               If this option is set to 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  tak-
               ing  remote backups even if root login is normally not allowed).
               All other authentication methods are disabled for root.

               If this option is set to no, root is not allowed to log in.

       PermitTTY
               Specifies whether pty(4) allocation is permitted.   The  default
               is yes.

       PermitTunnel
               Specifies  whether tun(4) device forwarding is allowed.  The ar-
               gument must be yes, point-to-point (layer  3),  ethernet  (layer
               2),  or  no.   Specifying  yes  permits  both point-to-point and
               ethernet.  The default is no.

               Independent of this setting, the  permissions  of  the  selected
               tun(4) device must allow access to the user.

       PermitUserEnvironment
               Specifies whether ~/.ssh/environment and environment= options in
               ~/.ssh/authorized_keys  are processed by sshd(8).  Valid options
               are yes, no or a pattern-list specifying which environment vari-
               able names to accept (for example "LANG,LC_*").  The default  is
               no.   Enabling environment processing may enable users to bypass
               access restrictions in some configurations using mechanisms such
               as LD_PRELOAD.

       PermitUserRC
               Specifies whether any ~/.ssh/rc file is executed.   The  default
               is yes.

       PerSourceMaxStartups
               Specifies the number of unauthenticated connections allowed from
               a  given  source  address, or “none” if there is no limit.  This
               limit is applied in addition to MaxStartups, whichever is lower.
               The default is none.

       PerSourceNetBlockSize
               Specifies the number of bits of source address that are  grouped
               together  for the purposes of applying PerSourceMaxStartups lim-
               its.  Values for IPv4 and optionally IPv6 may be specified, sep-
               arated by a colon.  The default is 32:128, which means each  ad-
               dress is considered individually.

       PerSourcePenalties
               Controls penalties for various conditions that may represent at-
               tacks  on  sshd(8).   If  a penalty is enforced against a client
               then its source address and any others in the same  network,  as
               defined by PerSourceNetBlockSize, will be refused connection for
               a period.

               A penalty doesn't affect concurrent connections in progress, but
               multiple  penalties from the same source from concurrent connec-
               tions will accumulate up to a  maximum.   Conversely,  penalties
               are  not applied until a minimum threshold time has been accumu-
               lated.

               Penalties are enabled  by  default  with  the  default  settings
               listed  below  but  may  disabled using the no keyword.  The de-
               faults may be overridden by specifying one or more of  the  key-
               words below, separated by whitespace.  All keywords accept argu-
               ments, e.g. "crash:2m".

               crash:duration
                       Specifies  how long to refuse clients that cause a crash
                       of sshd(8) (default: 90s).

               authfail:duration
                       Specifies how long to refuse clients that disconnect af-
                       ter making one or more unsuccessful  authentication  at-
                       tempts (default: 5s).

               refuseconnection:duration
                       Specifies  how long to refuse clients that were adminis-
                       tratively prohibited connection via the RefuseConnection
                       option (default: 10s).

               noauth:duration
                       Specifies how long to  refuse  clients  that  disconnect
                       without  attempting  authentication (default: 1s).  This
                       timeout should be used cautiously otherwise it  may  pe-
                       nalise legitimate scanning tools such as ssh-keyscan(1).

               grace-exceeded:duration
                       Specifies  how  long  to refuse clients that fail to au-
                       thenticate after LoginGraceTime (default: 10s).

               max:duration
                       Specifies the maximum time a particular  source  address
                       range  will  be  refused access for (default: 10m).  Re-
                       peated penalties will accumulate up to this maximum.

               min:duration
                       Specifies the minimum penalty that  must  accrue  before
                       enforcement begins (default: 15s).

               max-sources4:number, max-sources6:number
                       Specifies the maximum number of client IPv4 and IPv6 ad-
                       dress  ranges to track for penalties (default: 65536 for
                       both).

               overflow:mode
                       Controls how the server  behaves  when  max-sources4  or
                       max-sources6  is  exceeded.   There  are  two  operating
                       modes: deny-all, which denies all  incoming  connections
                       other than those exempted via PerSourcePenaltyExemptList
                       until  a  penalty  expires, and permissive, which allows
                       new connections by  removing  existing  penalties  early
                       (default: permissive).  Note that client penalties below
                       the  min  threshold  count  against  the total number of
                       tracked penalties.  IPv4 and IPv6 addresses are  tracked
                       separately,  so  an  overflow in one will not affect the
                       other.

               overflow6:mode
                       Allows specifying a different overflow mode for IPv6 ad-
                       dresses.  The default it to use the same  overflow  mode
                       as was specified for IPv4.

       PerSourcePenaltyExemptList
               Specifies  a  comma-separated  list  of addresses to exempt from
               penalties.   This  list  may  contain  wildcards  and  CIDR  ad-
               dress/masklen  ranges.   Note that the mask length provided must
               be consistent with the address - it is an  error  to  specify  a
               mask  length  that  is too long for the address or one with bits
               set  in  this  host  portion  of  the  address.   For   example,
               192.0.2.0/33  and 192.0.2.0/8, respectively.  The default is not
               to exempt any addresses.

       PidFile
               Specifies the file that contains the process ID of the SSH  dae-
               mon, or none to not write one.  The default is /run/sshd.pid.

       Port    Specifies  the port number that sshd(8) listens on.  The default
               is 22.  Multiple options of this type are permitted.   See  also
               ListenAddress.

       PrintLastLog
               Specifies  whether sshd(8) should print the date and time of the
               last user login when a user logs in interactively.  The  default
               is yes.

       PrintMotd
               Specifies  whether  sshd(8)  should  print /etc/motd when a user
               logs in interactively.  (On some systems it is also  printed  by
               the shell, /etc/profile, or equivalent.)  The default is yes.

       PubkeyAcceptedAlgorithms
               Specifies  the  signature  algorithms  that will be accepted for
               public key authentication as a list of comma-separated patterns.
               Alternately if the specified list begins with a  ‘+’  character,
               then  the  specified  algorithms will be appended to the default
               set instead of replacing them.  If  the  specified  list  begins
               with  a  ‘-’ character, then the specified algorithms (including
               wildcards) will be removed from the default set instead  of  re-
               placing  them.   If the specified list begins with a ‘^’ charac-
               ter, then the specified algorithms will be placed at the head of
               the default set.  The default for this option is:

                  ssh-ed25519-cert-v01@openssh.com,
                  ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  ecdsa-sha2-nistp384-cert-v01@openssh.com,
                  ecdsa-sha2-nistp521-cert-v01@openssh.com,
                  sk-ssh-ed25519-cert-v01@openssh.com,
                  sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
                  rsa-sha2-512-cert-v01@openssh.com,
                  rsa-sha2-256-cert-v01@openssh.com,
                  ssh-ed25519,
                  ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
                  sk-ssh-ed25519@openssh.com,
                  sk-ecdsa-sha2-nistp256@openssh.com,
                  rsa-sha2-512,rsa-sha2-256

               The list of available signature algorithms may also be  obtained
               using "ssh -Q PubkeyAcceptedAlgorithms".

       PubkeyAuthOptions
               Sets  one  or  more public key authentication options.  The sup-
               ported keywords are: none (the default; indicating no additional
               options are enabled), touch-required and verify-required.

               The touch-required option causes public key authentication using
               a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk)  to
               always require the signature to attest that a physically present
               user  explicitly confirmed the authentication (usually by touch-
               ing the authenticator).  By default, sshd(8) requires user pres-
               ence unless overridden  with  an  authorized_keys  option.   The
               touch-required flag disables this override.

               The  verify-required option requires a FIDO key signature attest
               that the user was verified, e.g. via a PIN.

               Neither the touch-required or verify-required options  have  any
               effect for other, non-FIDO, public key types.

       PubkeyAuthentication
               Specifies whether public key authentication is allowed.  The de-
               fault is yes.

       RefuseConnection
               Indicates that sshd(8) should unconditionally terminate the con-
               nection.    Additionally,  a  refuseconnection  penalty  may  be
               recorded   against   the   source   of   the    connection    if
               PerSourcePenalties are enabled.  This option is only really use-
               ful in a Match block.

       RekeyLimit
               Specifies  the maximum amount of data that may be transmitted or
               received before the session key is renegotiated, optionally fol-
               lowed by a maximum amount of time that may pass before the  ses-
               sion  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.

       RequiredRSASize
               Specifies the minimum RSA key size (in bits) that  sshd(8)  will
               accept.   User  and  host-based authentication keys smaller than
               this limit will be refused.  The default  is  1024  bits.   Note
               that this limit may only be raised from the default.

       RevokedKeys
               Specifies  revoked  public  keys  file,  or none to not use one.
               Keys listed in this file will be refused for public key  authen-
               tication.   Note  that if this file is not readable, then public
               key authentication will be refused for all users.  Keys  may  be
               specified as a text file, listing one public key per line, or as
               an   OpenSSH   Key   Revocation   List  (KRL)  as  generated  by
               ssh-keygen(1).  For more information on KRLs, see the KEY  REVO-
               CATION LISTS section in ssh-keygen(1).

       SecurityKeyProvider
               Specifies  a  path  to  a library that will be used when loading
               FIDO authenticator-hosted keys, overriding the default of  using
               the built-in USB HID support.

       SetEnv  Specifies one or more environment variables to set in child ses-
               sions started by sshd(8) as “NAME=VALUE”.  The environment value
               may  be quoted (e.g. if it contains whitespace characters).  En-
               vironment variables set by SetEnv override the default  environ-
               ment  and  any  variables specified by the user via AcceptEnv or
               PermitUserEnvironment.

       SshdAuthPath
               Overrides the default path to the sshd-auth binary that  is  in-
               voked   to   complete   user  authentication.   The  default  is
               /usr/lib/openssh/sshd-auth.  This option is intended for use  by
               tests.

       SshdSessionPath
               Overrides  the  default  path to the sshd-session binary that is
               invoked   to   handle   each   connection.    The   default   is
               /usr/lib/openssh/sshd-session.   This option is intended for use
               by tests.

       StreamLocalBindMask
               Sets the octal file creation mode mask (umask) used when  creat-
               ing  a Unix-domain socket file for local or remote port forward-
               ing.  This option is only used for port forwarding to a Unix-do-
               main socket file.

               The default value is 0177, which creates  a  Unix-domain  socket
               file that is readable and writable only by the owner.  Note that
               not  all  operating  systems  honor the file mode on Unix-domain
               socket files.

       StreamLocalBindUnlink
               Specifies whether to remove an existing Unix-domain socket  file
               for  local  or remote port forwarding before creating a new one.
               If the socket file already exists and  StreamLocalBindUnlink  is
               not  enabled,  sshd  will  be  unable to forward the port to the
               Unix-domain socket file.  This option is only used for port for-
               warding to a Unix-domain socket file.

               The argument must be yes or no.  The default is no.

       StrictModes
               Specifies whether sshd(8) should check file modes and  ownership
               of  the  user's files and home directory before accepting login.
               This is normally desirable because  novices  sometimes  acciden-
               tally  leave  their  directory or files world-writable.  The de-
               fault is yes.  Note that this does not apply to ChrootDirectory,
               whose permissions and ownership are checked unconditionally.

       Subsystem
               Configures an external subsystem (e.g.  file  transfer  daemon).
               Arguments  should  be  a  subsystem name and a command (with op-
               tional arguments) to execute upon subsystem request.

               The command sftp-server implements the SFTP file  transfer  sub-
               system.

               Alternately the name internal-sftp implements an in-process SFTP
               server.   This may simplify configurations using ChrootDirectory
               to force a different filesystem root on clients.  It accepts the
               same command line arguments as sftp-server and even though it is
               in-process, settings such as LogLevel or SyslogFacility  do  not
               apply  to  it  and must be set explicitly via command line argu-
               ments.

               By default no subsystems are defined.

       SyslogFacility
               Gives the facility code that is used when logging messages  from
               sshd(8).   The  possible values are: DAEMON, USER, AUTH, LOCAL0,
               LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.  The de-
               fault is AUTH.

       TCPKeepAlive
               Specifies whether the system should send TCP keepalive  messages
               to the other side.  If they are sent, death of the connection or
               crash of one of the machines will be properly noticed.  However,
               this  means  that connections will die if the route is down tem-
               porarily, and some people find it annoying.  On the other  hand,
               if  TCP  keepalives are not sent, sessions may hang indefinitely
               on the server, leaving "ghost" users and  consuming  server  re-
               sources.

               The  default  is  yes  (to send TCP keepalive messages), and the
               server will notice if the network goes down or the  client  host
               crashes.  This avoids infinitely hanging sessions.

               To  disable  TCP  keepalive messages, the value should be set to
               no.

               This option was formerly called KeepAlive.

       TrustedUserCAKeys
               Specifies a file containing public keys of certificate  authori-
               ties  that are trusted to sign user certificates for authentica-
               tion, or none to not use one.  Keys are  listed  one  per  line;
               empty  lines  and  comments starting with ‘#’ are allowed.  If a
               certificate is presented for authentication and has its  signing
               CA  key listed in this file, then it may be used for authentica-
               tion for any user listed in the certificate's  principals  list.
               Note  that  certificates that lack a list of principals will not
               be permitted for authentication  using  TrustedUserCAKeys.   For
               more  details  on  certificates, see the CERTIFICATES section in
               ssh-keygen(1).

       UnusedConnectionTimeout
               Specifies whether and how quickly sshd(8)  should  close  client
               connections with no open channels.  Open channels include active
               shell,  command  execution or subsystem sessions, connected net-
               work, socket, agent or X11 forwardings.   Forwarding  listeners,
               such  as  those  from  the ssh(1) -R flag, are not considered as
               open channels and do not prevent the timeout.  The timeout value
               is specified in seconds or may use any of the  units  documented
               in the “TIME FORMATS” section.

               Note  that  this  timeout starts when the client connection com-
               pletes user authentication but before the client has an opportu-
               nity to open any channels.  Caution should be  used  when  using
               short  timeout  values,  as they may not provide sufficient time
               for the client to request and open its channels before terminat-
               ing the connection.

               The default none is to never expire connections  for  having  no
               open  channels.   This  option may be useful in conjunction with
               ChannelTimeout.

       UseDNS  Specifies whether sshd(8) should look up the remote  host  name,
               and  to  check that the resolved host name for the remote IP ad-
               dress maps back to the very same IP address.

               If this option is set to no (the default)  then  only  addresses
               and  not  host  names may be used in ~/.ssh/authorized_keys from
               and sshd_config Match Host directives.

       UsePAM  Enables the Pluggable Authentication Module interface.   If  set
               to    yes    this   will   enable   PAM   authentication   using
               KbdInteractiveAuthentication and PasswordAuthentication in addi-
               tion to PAM account and session module processing  for  all  au-
               thentication types.

               Because  PAM  keyboard-interactive authentication usually serves
               an equivalent role to password authentication, you  should  dis-
               able          either          PasswordAuthentication          or
               KbdInteractiveAuthentication.

               If UsePAM is enabled, you will not be able to run sshd(8)  as  a
               non-root user.  The default is no.

       VersionAddendum
               Optionally specifies additional text to append to the SSH proto-
               col  banner  sent by the server upon connection.  The default is
               none.

       X11DisplayOffset
               Specifies the first display number available for  sshd(8)'s  X11
               forwarding.   This  prevents sshd from interfering with real X11
               servers.  The default is 10.

       X11Forwarding
               Specifies whether X11 forwarding  is  permitted.   The  argument
               must be yes or no.  The default is no.

               When X11 forwarding is enabled, there may be additional exposure
               to  the  server and to client displays if the sshd(8) proxy dis-
               play is configured  to  listen  on  the  wildcard  address  (see
               X11UseLocalhost), though this is not the default.  Additionally,
               the authentication spoofing and authentication data verification
               and substitution occur on the client side.  The security risk of
               using X11 forwarding is that the client's X11 display server may
               be  exposed  to  attack  when the SSH client requests forwarding
               (see the warnings for ForwardX11 in  ssh_config(5)).   A  system
               administrator  may  have  a stance in which they want to protect
               clients that may expose themselves to attack by unwittingly  re-
               questing X11 forwarding, which can warrant a no setting.

               Note  that  disabling X11 forwarding does not prevent users from
               forwarding X11 traffic, as users can always  install  their  own
               forwarders.

       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  wild-
               card  address.   The argument must be yes or no.  The default is
               yes.

       XAuthLocation
               Specifies the full pathname of the xauth(1) program, or none  to
               not use one.  The default is /usr/bin/xauth.

TIME FORMATS
       sshd(8) command-line arguments and configuration file options that spec-
       ify time may be expressed using a sequence of the form: time[qualifier],
       where  time is a positive integer value and qualifier is one of the fol-
       lowing:

             ⟨none⟩  seconds
             s | S   seconds
             m | M   minutes
             h | H   hours
             d | D   days
             w | W   weeks

       Each member of the sequence is added together  to  calculate  the  total
       time value.

       Time format examples:

             600     600 seconds (10 minutes)
             10m     10 minutes
             1h30m   1 hour 30 minutes (90 minutes)

TOKENS
       Arguments to some keywords can make use of tokens, which are expanded at
       runtime:

             %%    A literal ‘%’.
             %C    Identifies  the connection endpoints, containing four space-
                   separated values: client address, client port number, server
                   address, and server port number.
             %D    The routing domain in which the incoming connection was  re-
                   ceived.
             %F    The fingerprint of the CA key.
             %f    The fingerprint of the key or certificate.
             %h    The home directory of the user.
             %i    The key ID in the certificate.
             %K    The base64-encoded CA key.
             %k    The base64-encoded key or certificate for authentication.
             %s    The serial number of the certificate.
             %T    The type of the CA key.
             %t    The key or certificate type.
             %U    The numeric user ID of the target user.
             %u    The username.

       AuthorizedKeysCommand accepts the tokens %%, %C, %D, %f, %h, %k, %t, %U,
       and %u.

       AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.

       AuthorizedPrincipalsCommand  accepts  the tokens %%, %C, %D, %F, %f, %h,
       %i, %K, %k, %s, %T, %t, %U, and %u.

       AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.

       ChrootDirectory accepts the tokens %%, %h, %U, and %u.

FILES
       /etc/ssh/sshd_config
               Contains configuration data for sshd(8).  This  file  should  be
               writable  by root only, but it is recommended (though not neces-
               sary) that it be world-readable.

SEE ALSO
       sftp-server(8), sshd(8)

AUTHORS
       OpenSSH is a derivative of the original and free ssh 1.2.12  release  by
       Tatu  Ylonen.   Aaron  Campbell,  Bob Beck, Markus Friedl, Niels Provos,
       Theo de Raadt and Dug Song removed many bugs,  re-added  newer  features
       and created OpenSSH.  Markus Friedl contributed the support for SSH pro-
       tocol  versions 1.5 and 2.0.  Niels Provos and Markus Friedl contributed
       support for privilege separation.

Debian                         February 15, 2025                 SSHD_CONFIG(5)

Generated by dwww version 1.16 on Sun Dec 7 02:44:09 CET 2025.