Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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-ar-
       gument 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 contain-
       ing spaces.

       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 en-
	       vironment  variable  is always accepted whenever	the client re-
	       quests 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 di-
	       rectives.  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 accept	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
	       default is yes.	Note that disabling agent forwarding does  not
	       improve	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  Stream-
	       Local 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,  lo-
	       gin  is	allowed	 for all users.	 If the	pattern	takes the form
	       USER@HOST then USER and HOST are	separately checked,  restrict-
	       ing  logins  to	particular  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 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
	       requires	completion of every method in at least	one  of	 these
	       lists.

	       For		   example,		   "publickey,password
	       publickey,keyboard-interactive" would require the user to  com-
	       plete 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	or  pam.   de-
	       pending	  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 dedi-
	       cated user that has no other role on the	host than running  au-
	       thorized	 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  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  directory.
	       Multiple	 files may be listed, separated	by whitespace.	Alter-
	       nately 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
	       specified,  then	certificates offered by	the client for authen-
	       tication	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  ac-
	       cepted  for authentication.  Names are listed one per line pre-
	       ceded by	key options (as	 described  in	"AUTHORIZED_KEYS  FILE
	       FORMAT"	in  sshd(8)).	Empty lines and	comments starting with
	       `#' are ignored.

	       Arguments to AuthorizedPrincipalsFile  accept  the  tokens  de-
	       scribed	  in   the   "TOKENS"	section.    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 authenti-
	       cation proceeds using a CA listed in TrustedUserCAKeys  and  is
	       not   consulted	 for  certification  authorities  trusted  via
	       ~/.ssh/authorized_keys, though the principals= key  option  of-
	       fers 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  in-
	       stead  of  replacing them.  If the specified list begins	with a
	       `-' character, then the specified algorithms  (including	 wild-
	       cards)  will be removed from the	default	set instead of replac-
	       ing 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  special  keyword "global"	or a channel type name
	       from the	list below, 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  ter-
	       minate  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 com-
	       ponents 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 us-
	       ing SFTP	no additional configuration of the environment is nec-
	       essary if the in-process	sftp-server is used,  though  sessions
	       which use logging may require /dev/log inside the chroot	direc-
	       tory  on	 some  operating  systems  (see	sftp-server(8) for de-
	       tails).

	       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-ctr,aes192-ctr,aes256-ctr,
		     aes128-gcm@openssh.com,aes256-gcm@openssh.com

	       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
	       without	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 valu-
	       able when the client or server depend on	knowing	when a connec-
	       tion 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 sec-
	       onds.  Setting a	zero ClientAliveCountMax  disables  connection
	       termination.

       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.

       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	numer-
	       ical  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  ad-
	       ditionally  contain  addresses to match in CIDR address/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.

       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 finger-
	       prints.	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
	       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.  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  for-
	       wardings	to bind	to non-loopback	addresses, thus	allowing other
	       hosts  to connect.  The argument	may be no to force remote port
	       forwardings 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.

       GSSAPIStrictAcceptorCheck
	       Determines whether to be	strict about the identity of the  GSS-
	       API  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 authen-
	       ticate  against any service key stored in the machine's default
	       store.  This facility is	provided to assist with	 operation  on
	       multi homed machines.  The default is yes.

       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
	       certificate'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
	       restricts which of the keys are actually	used by	sshd(8).

	       It  is  possible	 to  have multiple host	key files.  It is also
	       possible	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	 path-
	       names  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 con-
	       nection.	 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  numeric  value, or none to use the operating system default.
	       This option may take one	or two arguments, separated by	white-
	       space.	If one argument	is specified, it is used as the	packet
	       class unconditionally.  If two values are specified, the	 first
	       is automatically	selected for interactive sessions and the sec-
	       ond for non-interactive sessions.  The default is af21 (Low-La-
	       tency Data) for interactive sessions and	cs1 (Lower Effort) for
	       non-interactive sessions.

       KbdInteractiveAuthentication
	       Specifies whether to allow keyboard-interactive authentication.
	       All  authentication  styles  from  login.conf(5)	are supported.
	       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	direc-
	       tory.  The default is no.

       KerberosOrLocalPasswd
	       If password authentication  through  Kerberos  fails  then  the
	       password	 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 available	KEX (Key Exchange) algorithms.	Multi-
	       ple algorithms must be  comma-separated.	  Alternately  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	speci-
	       fied 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
		     sntrup761x25519-sha512@openssh.com

	       The default is:

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

	       The  list  of available 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
	       explicit	routing	domain.	 If port is not	specified,  sshd  will
	       listen  on the address and all Port options specified.  The de-
	       fault is	to listen on all local addresses on  the  current  de-
	       fault  routing domain.  Multiple	ListenAddress options are per-
	       mitted.	 For  more  information	 on   routing	domains,   see
	       rdomain(4).

       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 con-
	       sists of	a pattern lists	that matches the source	file, function
	       and line	number to force	detailed logging for.  For example, an
	       override	pattern	of:

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

	       would enable detailed logging for line 1000  of	kex.c,	every-
	       thing  in  the  kex_exchange_identification() function, and all
	       code in the packet.c file.  This	option is intended for	debug-
	       ging 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	speci-
	       fied 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,
	       until  either  another Match line or the	end of the file.  If a
	       keyword 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 the single token All which matches all criteria.  The	avail-
	       able criteria are User, Group, Host,  LocalAddress,  LocalPort,
	       RDomain,	 and Address (with RDomain representing	the rdomain(4)
	       on which	the connection was received).

	       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
	       addresses  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 exam-
	       ple, 192.0.2.0/33 and 192.0.2.0/8, respectively.

	       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,	       PasswordAuthentication,
	       PermitEmptyPasswords,	     PermitListen,	   PermitOpen,
	       PermitRootLogin,	  PermitTTY,	PermitTunnel,	 PermitUserRC,
	       PubkeyAcceptedAlgorithms,		 PubkeyAuthentication,
	       PubkeyAuthOptions, RekeyLimit,  RevokedKeys,  RDomain,  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.	Multi-
	       ple sessions may	be established by clients that support connec-
	       tion multiplexing.  Setting MaxSessions to 1  will  effectively
	       disable session multiplexing, whereas setting it	to 0 will pre-
	       vent  all  shell, login and subsystem sessions while still per-
	       mitting forwarding.  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  lin-
	       early  and all connection attempts are refused if the number of
	       unauthenticated 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/moduli.

       PasswordAuthentication
	       Specifies  whether  password  authentication  is	allowed.  Note
	       that	passwords     may     also     be     accepted	   via
	       KbdInteractiveAuthentication.  See also UsePAM.	The default is
	       no.

       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  fol-
	       lowing 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
	       wildcard	`*' 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      no.	Note	  that	    if
	       ChallengeResponseAuthentication and UsePAM are both  yes,  this
	       setting may be overridden by the	PAM policy.

	       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 op-
	       tions are yes, no or a pattern-list specifying  which  environ-
	       ment  variable  names to	accept (for example "LANG,LC_*").  The
	       default is no.	Enabling  environment  processing  may	enable
	       users  to bypass	access restrictions in some configurations us-
	       ing 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,
	       separated  by a colon.  The default is 32:128, which means each
	       address is considered individually.

       PidFile
	       Specifies the file that contains	the process ID of the SSH dae-
	       mon,  or	  none	 to   not   write   one.    The	  default   is
	       /var/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 pat-
	       terns.  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 in-
	       stead 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 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 addi-
	       tional	 options    are	   enabled),	touch-required	   and
	       verify-required.

	       The  touch-required option causes public	key authentication us-
	       ing  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 touching the	authenticator).	 By  default,  sshd(8)
	       requires	  user	presence  unless  overridden  with  an	autho-
	       rized_keys option.  The touch-required flag disables this over-
	       ride.

	       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
	       default is yes.

       RekeyLimit
	       Specifies the maximum amount of data that may be	transmitted or
	       received	before the session  key	 is  renegotiated,  optionally
	       followed	 by  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 op-
	       tional second value is specified	in seconds and may use any  of
	       the  units  documented  in the "TIME FORMATS" section.  The de-
	       fault 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).

       RDomain
	       Specifies  an explicit routing domain that is applied after au-
	       thentication has	completed.  The	user session, as well  as  any
	       forwarded  or  listening	 IP  sockets,  will  be	 bound to this
	       rdomain(4).  If the routing domain is set to %D,	then  the  do-
	       main  in	which the incoming connection was received will	be ap-
	       plied.

       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
	       sessions	started	by sshd(8) as "NAME=VALUE".   The  environment
	       value  may  be  quoted  (e.g. if	it contains whitespace charac-
	       ters).  Environment variables set by SetEnv  override  the  de-
	       fault  environment  and any variables specified by the user via
	       AcceptEnv or PermitUserEnvironment.

       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-
	       domain 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-do-
	       main 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
	       forwarding 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 arguments.

	       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
	       default 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.  How-
	       ever, this means	that connections will die if the route is down
	       temporarily,  and  some	people find it annoying.  On the other
	       hand, if	TCP keepalives are not sent, sessions may hang indefi-
	       nitely on the  server,  leaving	"ghost"	 users	and  consuming
	       server resources.

	       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.

       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 ac-
	       tive shell, command execution or	subsystem sessions,  connected
	       network,	 socket, agent or X11 forwardings.  Forwarding listen-
	       ers, 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 docu-
	       mented in the "TIME FORMATS" section.

	       Note that this timeout starts when the client  connection  com-
	       pletes  user authentication but before the client has an	oppor-
	       tunity 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	termi-
	       nating the connection.

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

       UseBlacklist
	       Specifies whether sshd(8) attempts to send authentication  suc-
	       cess and	failure	messages to the	blacklistd(8) daemon.  The de-
	       fault  is  no.	For  forward  compatibility  with  an upcoming
	       blacklistd rename, the UseBlocklist alias can be	used instead.

       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, then only addresses	and  not  host
	       names   may   be	  used	 in  ~/.ssh/authorized_keys  from  and
	       sshd_config Match Host directives.  The default is "yes".

       UsePAM  Enables the Pluggable Authentication Module interface.  If  set
	       to    yes   this	  will	 enable	  PAM	authentication	 using
	       KbdInteractiveAuthentication and	PasswordAuthentication in  ad-
	       dition 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 yes.

       VersionAddendum
	       Optionally  specifies additional	text to	append to the SSH pro-
	       tocol banner sent by the	server upon connection.	  The  default
	       is  "FreeBSD-20240806".	 The value none	may be used to disable
	       this.

       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 expo-
	       sure to the server and to client	displays if the	sshd(8)	 proxy
	       display	is  configured	to listen on the wildcard address (see
	       X11UseLocalhost), though	this is	not  the  default.   Addition-
	       ally, the authentication	spoofing and authentication data veri-
	       fication	 and substitution occur	on the client side.  The secu-
	       rity risk of using X11 forwarding is that the client's X11 dis-
	       play server may be exposed to attack when the  SSH  client  re-
	       quests	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	requesting 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 de-
	       fault, 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.  The argument must	be yes or no.  The de-
	       fault is	yes.

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

TIME FORMATS
       sshd(8)	command-line  arguments	 and  configuration  file options that
       specify	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 following:

	     <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.

       RoutingDomain accepts the token %D.

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
       protocol	versions 1.5 and 2.0.  Niels Provos  and  Markus  Friedl  con-
       tributed	support	for privilege separation.

FreeBSD	13.2		       February	21, 2024		SSHD_CONFIG(5)

NAME | DESCRIPTION | TIME FORMATS | TOKENS | FILES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sshd_config&sektion=5&manpath=FreeBSD+14.2-RELEASE+and+Ports>

home | help