1SSHD_CONFIG(5)              BSD File Formats Manual             SSHD_CONFIG(5)
2

NAME

4     sshd_config — OpenSSH SSH daemon configuration file
5

DESCRIPTION

7     sshd(8) reads configuration data from /etc/gsissh/sshd_config (or the
8     file specified with -f on the command line).  The file contains keyword-
9     argument pairs, one per line.  For each keyword, the first obtained value
10     will be used.  Lines starting with ‘#’ and empty lines are interpreted as
11     comments.  Arguments may optionally be enclosed in double quotes (") in
12     order to represent arguments containing spaces.
13
14     The possible keywords and their meanings are as follows (note that key‐
15     words are case-insensitive and arguments are case-sensitive):
16
17     AcceptEnv
18             Specifies what environment variables sent by the client will be
19             copied into the session's environ(7).  See SendEnv and SetEnv in
20             ssh_config(5) for how to configure the client.  The TERM environ‐
21             ment variable is always accepted whenever the client requests a
22             pseudo-terminal as it is required by the protocol.  Variables are
23             specified by name, which may contain the wildcard characters ‘*’
24             and ‘?’.  Multiple environment variables may be separated by
25             whitespace or spread across multiple AcceptEnv directives.  Be
26             warned that some environment variables could be used to bypass
27             restricted user environments.  For this reason, care should be
28             taken in the use of this directive.  The default is not to accept
29             any environment variables.
30
31     AddressFamily
32             Specifies which address family should be used by sshd(8).  Valid
33             arguments are any (the default), inet (use IPv4 only), or inet6
34             (use IPv6 only).
35
36     AllowAgentForwarding
37             Specifies whether ssh-agent(1) forwarding is permitted.  The
38             default is yes.  Note that disabling agent forwarding does not
39             improve security unless users are also denied shell access, as
40             they can always install their own forwarders.
41
42     AllowGroups
43             This keyword can be followed by a list of group name patterns,
44             separated by spaces.  If specified, login is allowed only for
45             users whose primary group or supplementary group list matches one
46             of the patterns.  Only group names are valid; a numerical group
47             ID is not recognized.  By default, login is allowed for all
48             groups.  The allow/deny directives are processed in the following
49             order: DenyUsers, AllowUsers, DenyGroups, and finally
50             AllowGroups.
51
52             See PATTERNS in ssh_config(5) for more information on patterns.
53
54     AllowStreamLocalForwarding
55             Specifies whether StreamLocal (Unix-domain socket) forwarding is
56             permitted.  The available options are yes (the default) or all to
57             allow StreamLocal forwarding, no to prevent all StreamLocal for‐
58             warding, local to allow local (from the perspective of ssh(1))
59             forwarding only or remote to allow remote forwarding only.  Note
60             that disabling StreamLocal forwarding does not improve security
61             unless users are also denied shell access, as they can always
62             install their own forwarders.
63
64     AllowTcpForwarding
65             Specifies whether TCP forwarding is permitted.  The available
66             options are yes (the default) or all to allow TCP forwarding, no
67             to prevent all TCP forwarding, local to allow local (from the
68             perspective of ssh(1)) forwarding only or remote to allow remote
69             forwarding only.  Note that disabling TCP forwarding does not
70             improve security unless users are also denied shell access, as
71             they can always install their own forwarders.
72
73     AllowUsers
74             This keyword can be followed by a list of user name patterns,
75             separated by spaces.  If specified, login is allowed only for
76             user names that match one of the patterns.  Only user names are
77             valid; a numerical user ID is not recognized.  By default, login
78             is allowed for all users.  If the pattern takes the form
79             USER@HOST then USER and HOST are separately checked, restricting
80             logins to particular users from particular hosts.  HOST criteria
81             may additionally contain addresses to match in CIDR
82             address/masklen format.  The allow/deny directives are processed
83             in the following order: DenyUsers, AllowUsers, DenyGroups, and
84             finally AllowGroups.
85
86             See PATTERNS in ssh_config(5) for more information on patterns.
87
88     AuthenticationMethods
89             Specifies the authentication methods that must be successfully
90             completed for a user to be granted access.  This option must be
91             followed by one or more lists of comma-separated authentication
92             method names, or by the single string any to indicate the default
93             behaviour of accepting any single authentication method.  If the
94             default is overridden, then successful authentication requires
95             completion of every method in at least one of these lists.
96
97             For example, "publickey,password publickey,keyboard-interactive"
98             would require the user to complete public key authentication,
99             followed by either password or keyboard interactive authentica‐
100             tion.  Only methods that are next in one or more lists are
101             offered at each stage, so for this example it would not be possi‐
102             ble to attempt password or keyboard-interactive authentication
103             before public key.
104
105             For keyboard interactive authentication it is also possible to
106             restrict authentication to a specific device by appending a colon
107             followed by the device identifier bsdauth or pam.  depending on
108             the server configuration.  For example,
109             "keyboard-interactive:bsdauth" would restrict keyboard interac‐
110             tive authentication to the bsdauth device.
111
112             If the publickey method is listed more than once, sshd(8) veri‐
113             fies that keys that have been used successfully are not reused
114             for subsequent authentications.  For example,
115             "publickey,publickey" requires successful authentication using
116             two different public keys.
117
118             Note that each authentication method listed should also be
119             explicitly enabled in the configuration.
120
121             The available authentication methods are: "gssapi-with-mic",
122             "hostbased", "keyboard-interactive", "none" (used for access to
123             password-less accounts when PermitEmptyPasswords is enabled),
124             "password" and "publickey".
125
126     AuthorizedKeysCommand
127             Specifies a program to be used to look up the user's public keys.
128             The program must be owned by root, not writable by group or oth‐
129             ers and specified by an absolute path.  Arguments to
130             AuthorizedKeysCommand accept the tokens described in the TOKENS
131             section.  If no arguments are specified then the username of the
132             target user is used.
133
134             The program should produce on standard output zero or more lines
135             of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)).  If a
136             key supplied by AuthorizedKeysCommand does not successfully
137             authenticate and authorize the user then public key authentica‐
138             tion continues using the usual AuthorizedKeysFile files.  By
139             default, no AuthorizedKeysCommand is run.
140
141     AuthorizedKeysCommandUser
142             Specifies the user under whose account the AuthorizedKeysCommand
143             is run.  It is recommended to use a dedicated user that has no
144             other role on the host than running authorized keys commands.  If
145             AuthorizedKeysCommand is specified but AuthorizedKeysCommandUser
146             is not, then sshd(8) will refuse to start.
147
148     AuthorizedKeysFile
149             Specifies the file that contains the public keys used for user
150             authentication.  The format is described in the AUTHORIZED_KEYS
151             FILE FORMAT section of sshd(8).  Arguments to AuthorizedKeysFile
152             accept the tokens described in the TOKENS section.  After expan‐
153             sion, AuthorizedKeysFile is taken to be an absolute path or one
154             relative to the user's home directory.  Multiple files may be
155             listed, separated by whitespace.  Alternately this option may be
156             set to none to skip checking for user keys in files.  The default
157             is ".ssh/authorized_keys .ssh/authorized_keys2".
158
159     AuthorizedPrincipalsCommand
160             Specifies a program to be used to generate the list of allowed
161             certificate principals as per AuthorizedPrincipalsFile.  The pro‐
162             gram must be owned by root, not writable by group or others and
163             specified by an absolute path.  Arguments to
164             AuthorizedPrincipalsCommand accept the tokens described in the
165             TOKENS section.  If no arguments are specified then the username
166             of the target user is used.
167
168             The program should produce on standard output zero or more lines
169             of AuthorizedPrincipalsFile output.  If either
170             AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is speci‐
171             fied, then certificates offered by the client for authentication
172             must contain a principal that is listed.  By default, no
173             AuthorizedPrincipalsCommand is run.
174
175     AuthorizedPrincipalsCommandUser
176             Specifies the user under whose account the
177             AuthorizedPrincipalsCommand is run.  It is recommended to use a
178             dedicated user that has no other role on the host than running
179             authorized principals commands.  If AuthorizedPrincipalsCommand
180             is specified but AuthorizedPrincipalsCommandUser is not, then
181             sshd(8) will refuse to start.
182
183     AuthorizedPrincipalsFile
184             Specifies a file that lists principal names that are accepted for
185             certificate authentication.  When using certificates signed by a
186             key listed in TrustedUserCAKeys, this file lists names, one of
187             which must appear in the certificate for it to be accepted for
188             authentication.  Names are listed one per line preceded by key
189             options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)).
190             Empty lines and comments starting with ‘#’ are ignored.
191
192             Arguments to AuthorizedPrincipalsFile accept the tokens described
193             in the TOKENS section.  After expansion, AuthorizedPrincipalsFile
194             is taken to be an absolute path or one relative to the user's
195             home directory.  The default is none, i.e. not to use a princi‐
196             pals file – in this case, the username of the user must appear in
197             a certificate's principals list for it to be accepted.
198
199             Note that AuthorizedPrincipalsFile is only used when authentica‐
200             tion proceeds using a CA listed in TrustedUserCAKeys and is not
201             consulted for certification authorities trusted via
202             ~/.ssh/authorized_keys, though the principals= key option offers
203             a similar facility (see sshd(8) for details).
204
205     Banner  The contents of the specified file are sent to the remote user
206             before authentication is allowed.  If the argument is none then
207             no banner is displayed.  By default, no banner is displayed.
208
209     CASignatureAlgorithms
210             Specifies which algorithms are allowed for signing of certifi‐
211             cates by certificate authorities (CAs).  The default is:
212
213                   ecdsa-sha2-nistp256.ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
214                   ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
215
216             Certificates signed using other algorithms will not be accepted
217             for public key or host-based authentication.
218
219     ChallengeResponseAuthentication
220             Specifies whether challenge-response authentication is allowed
221             (e.g. via PAM or through authentication styles supported in
222             login.conf(5)) The default is yes.
223
224     ChrootDirectory
225             Specifies the pathname of a directory to chroot(2) to after
226             authentication.  At session startup sshd(8) checks that all com‐
227             ponents of the pathname are root-owned directories which are not
228             writable by any other user or group.  After the chroot, sshd(8)
229             changes the working directory to the user's home directory.
230             Arguments to ChrootDirectory accept the tokens described in the
231             TOKENS section.
232
233             The ChrootDirectory must contain the necessary files and directo‐
234             ries to support the user's session.  For an interactive session
235             this requires at least a shell, typically sh(1), and basic /dev
236             nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4),
237             and tty(4) devices.  For file transfer sessions using SFTP no
238             additional configuration of the environment is necessary if the
239             in-process sftp-server is used, though sessions which use logging
240             may require /dev/log inside the chroot directory on some operat‐
241             ing systems (see sftp-server(8) for details).
242
243             For safety, it is very important that the directory hierarchy be
244             prevented from modification by other processes on the system
245             (especially those outside the jail).  Misconfiguration can lead
246             to unsafe environments which sshd(8) cannot detect.
247
248             The default is none, indicating not to chroot(2).
249
250     Ciphers
251             Specifies the ciphers allowed.  Multiple ciphers must be comma-
252             separated.  If the specified value begins with a ‘+’ character,
253             then the specified ciphers will be appended to the default set
254             instead of replacing them.  If the specified value begins with a
255             ‘-’ character, then the specified ciphers (including wildcards)
256             will be removed from the default set instead of replacing them.
257
258             The supported ciphers are:
259
260                   3des-cbc
261                   aes128-cbc
262                   aes192-cbc
263                   aes256-cbc
264                   aes128-ctr
265                   aes192-ctr
266                   aes256-ctr
267                   aes128-gcm@openssh.com
268                   aes256-gcm@openssh.com
269                   chacha20-poly1305@openssh.com
270
271             The default is handled system-wide by crypto-policies(7).  To see
272             the defaults and how to modifuy this default, see manual page
273             update-crypto-policies(8).
274
275             The list of available ciphers may also be obtained using "ssh -Q
276             cipher".
277
278     ClientAliveCountMax
279             Sets the number of client alive messages which may be sent with‐
280             out sshd(8) receiving any messages back from the client.  If this
281             threshold is reached while client alive messages are being sent,
282             sshd will disconnect the client, terminating the session.  It is
283             important to note that the use of client alive messages is very
284             different from TCPKeepAlive.  The client alive messages are sent
285             through the encrypted channel and therefore will not be spoofa‐
286             ble.  The TCP keepalive option enabled by TCPKeepAlive is spoofa‐
287             ble.  The client alive mechanism is valuable when the client or
288             server depend on knowing when a connection has become inactive.
289
290             The default value is 3.  If ClientAliveInterval is set to 15, and
291             ClientAliveCountMax is left at the default, unresponsive SSH
292             clients will be disconnected after approximately 45 seconds.
293
294     ClientAliveInterval
295             Sets a timeout interval in seconds after which if no data has
296             been received from the client, sshd(8) will send a message
297             through the encrypted channel to request a response from the
298             client.  The default is 0, indicating that these messages will
299             not be sent to the client.
300
301     Compression
302             Specifies whether compression is enabled after the user has
303             authenticated successfully.  The argument must be yes, delayed (a
304             legacy synonym for yes) or no.  The default is yes.
305
306     DenyGroups
307             This keyword can be followed by a list of group name patterns,
308             separated by spaces.  Login is disallowed for users whose primary
309             group or supplementary group list matches one of the patterns.
310             Only group names are valid; a numerical group ID is not recog‐
311             nized.  By default, login is allowed for all groups.  The
312             allow/deny directives are processed in the following order:
313             DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
314
315             See PATTERNS in ssh_config(5) for more information on patterns.
316
317     DenyUsers
318             This keyword can be followed by a list of user name patterns,
319             separated by spaces.  Login is disallowed for user names that
320             match one of the patterns.  Only user names are valid; a numeri‐
321             cal user ID is not recognized.  By default, login is allowed for
322             all users.  If the pattern takes the form USER@HOST then USER and
323             HOST are separately checked, restricting logins to particular
324             users from particular hosts.  HOST criteria may additionally con‐
325             tain addresses to match in CIDR address/masklen format.  The
326             allow/deny directives are processed in the following order:
327             DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
328
329             See PATTERNS in ssh_config(5) for more information on patterns.
330
331     DisableForwarding
332             Disables all forwarding features, including X11, ssh-agent(1),
333             TCP and StreamLocal.  This option overrides all other forwarding-
334             related options and may simplify restricted configurations.
335
336     ExposeAuthInfo
337             Writes a temporary file containing a list of authentication meth‐
338             ods and public credentials (e.g. keys) used to authenticate the
339             user.  The location of the file is exposed to the user session
340             through the SSH_USER_AUTH environment variable.  The default is
341             no.
342
343     FingerprintHash
344             Specifies the hash algorithm used when logging key fingerprints.
345             Valid options are: md5 and sha256.  The default is sha256.
346
347     ForceCommand
348             Forces the execution of the command specified by ForceCommand,
349             ignoring any command supplied by the client and ~/.ssh/rc if
350             present.  The command is invoked by using the user's login shell
351             with the -c option.  This applies to shell, command, or subsystem
352             execution.  It is most useful inside a Match block.  The command
353             originally supplied by the client is available in the
354             SSH_ORIGINAL_COMMAND environment variable.  Specifying a command
355             of internal-sftp will force the use of an in-process SFTP server
356             that requires no support files when used with ChrootDirectory.
357             The default is none.
358
359     GatewayPorts
360             Specifies whether remote hosts are allowed to connect to ports
361             forwarded for the client.  By default, sshd(8) binds remote port
362             forwardings to the loopback address.  This prevents other remote
363             hosts from connecting to forwarded ports.  GatewayPorts can be
364             used to specify that sshd should allow remote port forwardings to
365             bind to non-loopback addresses, thus allowing other hosts to con‐
366             nect.  The argument may be no to force remote port forwardings to
367             be available to the local host only, yes to force remote port
368             forwardings to bind to the wildcard address, or clientspecified
369             to allow the client to select the address to which the forwarding
370             is bound.  The default is no.
371
372     GSIAllowLimitedProxy
373             Specifies whether to accept limited proxy credentials for authen‐
374             tication.  The default is no.
375
376     GSSAPIAuthentication
377             Specifies whether user authentication based on GSSAPI is allowed.
378             The default is yes.
379
380     GSSAPICleanupCredentials
381             Specifies whether to automatically destroy the user's credentials
382             cache on logout.  The default is yes.
383
384     GSSAPICredentialsPath
385             If specified, the delegated GSSAPI credential is stored in the
386             given path, overwriting any existing credentials.  Paths can be
387             specified with syntax similar to the AuthorizedKeysFile option
388             (i.e., accepting %h and %u tokens).  When using this option, set‐
389             ting 'GssapiCleanupCredentials no' is recommended, so logging out
390             of one session doesn't remove the credentials in use by another
391             session of the same user.  Currently only implemented for the GSI
392             mechanism.
393
394     GSSAPIDelegateCredentials
395             Specifies whether delegated credentials are stored in the user's
396             environment.  The default is yes.
397
398     GSSAPIEnablek5users
399             Specifies whether to look at .k5users file for GSSAPI authentica‐
400             tion access control. Further details are described in ksu(1).
401             The default is no.
402
403     GSSAPIKeyExchange
404             Specifies whether key exchange based on GSSAPI is allowed. GSSAPI
405             key exchange doesn't rely on ssh keys to verify host identity.
406             The default is yes.
407
408     GSSAPIStrictAcceptorCheck
409             Determines whether to be strict about the identity of the GSSAPI
410             acceptor a client authenticates against.  If set to yes then the
411             client must authenticate against the host service on the current
412             hostname.  If set to no then the client may authenticate against
413             any service key stored in the machine's default store.  This
414             facility is provided to assist with operation on multi homed
415             machines.  The default is yes.
416
417     GSSAPIStoreCredentialsOnRekey
418             Controls whether the user's GSSAPI credentials should be updated
419             following a successful connection rekeying. This option can be
420             used to accepted renewed or updated credentials from a compatible
421             client. The default is “no”.
422
423             For this to work GSSAPIKeyExchange needs to be enabled in the
424             server and also used by the client.
425
426     GSSAPIKexAlgorithms
427             The list of key exchange algorithms that are accepted by GSSAPI
428             key exchange. Possible values are
429
430                gss-gex-sha1-,
431                gss-group1-sha1-,
432                gss-group14-sha1-,
433                gss-group14-sha256-,
434                gss-group16-sha512-,
435                gss-nistp256-sha256-,
436                gss-curve25519-sha256-
437
438             The default is handled system-wide by crypto-policies(7).  To see
439             the defaults and how to modifuy this default, see manual page
440             update-crypto-policies(8).
441
442     HostbasedAcceptedKeyTypes
443             Specifies the key types that will be accepted for hostbased
444             authentication as a list of comma-separated patterns.  Alter‐
445             nately if the specified value begins with a ‘+’ character, then
446             the specified key types will be appended to the default set
447             instead of replacing them.  If the specified value begins with a
448             ‘-’ character, then the specified key types (including wildcards)
449             will be removed from the default set instead of replacing them.
450             The default for this option is:
451
452                ecdsa-sha2-nistp256-cert-v01@openssh.com,
453                ecdsa-sha2-nistp384-cert-v01@openssh.com,
454                ecdsa-sha2-nistp521-cert-v01@openssh.com,
455                ssh-ed25519-cert-v01@openssh.com,
456                rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
457                ssh-rsa-cert-v01@openssh.com,
458                ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
459                ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
460
461             The list of available key types may also be obtained using "ssh
462             -Q key".
463
464     HostbasedAuthentication
465             Specifies whether rhosts or /etc/hosts.equiv authentication
466             together with successful public key client host authentication is
467             allowed (host-based authentication).  The default is no.
468
469     HostbasedUsesNameFromPacketOnly
470             Specifies whether or not the server will attempt to perform a
471             reverse name lookup when matching the name in the ~/.shosts,
472             ~/.rhosts, and /etc/hosts.equiv files during
473             HostbasedAuthentication.  A setting of yes means that sshd(8)
474             uses the name supplied by the client rather than attempting to
475             resolve the name from the TCP connection itself.  The default is
476             no.
477
478     HostCertificate
479             Specifies a file containing a public host certificate.  The cer‐
480             tificate's public key must match a private host key already spec‐
481             ified by HostKey.  The default behaviour of sshd(8) is not to
482             load any certificates.
483
484     HostKey
485             Specifies a file containing a private host key used by SSH.  The
486             defaults are /etc/gsissh/ssh_host_ecdsa_key,
487             /etc/gsissh/ssh_host_ed25519_key and
488             /etc/gsissh/ssh_host_rsa_key.
489
490             Note that sshd(8) will refuse to use a file if it is group/world-
491             accessible and that the HostKeyAlgorithms option restricts which
492             of the keys are actually used by sshd(8).
493
494             It is possible to have multiple host key files.  It is also pos‐
495             sible to specify public host key files instead.  In this case
496             operations on the private key will be delegated to an
497             ssh-agent(1).
498
499     HostKeyAgent
500             Identifies the UNIX-domain socket used to communicate with an
501             agent that has access to the private host keys.  If the string
502             "SSH_AUTH_SOCK" is specified, the location of the socket will be
503             read from the SSH_AUTH_SOCK environment variable.
504
505     HostKeyAlgorithms
506             Specifies the host key algorithms that the server offers.  The
507             default is handled system-wide by crypto-policies(7).  To see the
508             defaults and how to modifuy this default, see manual page
509             update-crypto-policies(8).
510
511             The list of available key types may also be obtained using "ssh
512             -Q key".
513
514     IgnoreRhosts
515             Specifies that .rhosts and .shosts files will not be used in
516             HostbasedAuthentication.
517
518             /etc/hosts.equiv and /etc/gsissh/shosts.equiv are still used.
519             The default is yes.
520
521     IgnoreUserKnownHosts
522             Specifies whether sshd(8) should ignore the user's
523             ~/.ssh/known_hosts during HostbasedAuthentication and use only
524             the system-wide known hosts file /etc/ssh/known_hosts.  The
525             default is no.
526
527     IPQoS   Specifies the IPv4 type-of-service or DSCP class for the connec‐
528             tion.  Accepted values are af11, af12, af13, af21, af22, af23,
529             af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5,
530             cs6, cs7, ef, lowdelay, throughput, reliability, a numeric value,
531             or none to use the operating system default.  This option may
532             take one or two arguments, separated by whitespace.  If one argu‐
533             ment is specified, it is used as the packet class uncondition‐
534             ally.  If two values are specified, the first is automatically
535             selected for interactive sessions and the second for non-interac‐
536             tive sessions.  The default is af21 (Low-Latency Data) for inter‐
537             active sessions and cs1 (Lower Effort) for non-interactive ses‐
538             sions.
539
540     KbdInteractiveAuthentication
541             Specifies whether to allow keyboard-interactive authentication.
542             The argument to this keyword must be yes or no.  The default is
543             to use whatever value ChallengeResponseAuthentication is set to
544             (by default yes).
545
546     KerberosAuthentication
547             Specifies whether the password provided by the user for
548             PasswordAuthentication will be validated through the Kerberos
549             KDC.  To use this option, the server needs a Kerberos servtab
550             which allows the verification of the KDC's identity.  The default
551             is no.
552
553     KerberosGetAFSToken
554             If AFS is active and the user has a Kerberos 5 TGT, attempt to
555             acquire an AFS token before accessing the user's home directory.
556             The default is no.
557
558     KerberosOrLocalPasswd
559             If password authentication through Kerberos fails then the pass‐
560             word will be validated via any additional local mechanism such as
561             /etc/passwd.  The default is yes.
562
563     KerberosTicketCleanup
564             Specifies whether to automatically destroy the user's ticket
565             cache file on logout.  The default is yes.
566
567     KerberosUniqueCCache
568             Specifies whether to store the acquired tickets in the per-ses‐
569             sion credential cache under /tmp/ or whether to use per-user cre‐
570             dential cache as configured in /etc/krb5.conf.  The default value
571             no can lead to overwriting previous tickets by subseqent connec‐
572             tions to the same user account.
573
574     KerberosUseKuserok
575             Specifies whether to look at .k5login file for user's aliases.
576             The default is yes.
577
578     KexAlgorithms
579             Specifies the available KEX (Key Exchange) algorithms.  Multiple
580             algorithms must be comma-separated.  Alternately if the specified
581             value begins with a ‘+’ character, then the specified methods
582             will be appended to the default set instead of replacing them.
583             If the specified value begins with a ‘-’ character, then the
584             specified methods (including wildcards) will be removed from the
585             default set instead of replacing them.  The supported algorithms
586             are:
587
588                   curve25519-sha256
589                   curve25519-sha256@libssh.org
590                   diffie-hellman-group1-sha1
591                   diffie-hellman-group14-sha1
592                   diffie-hellman-group14-sha256
593                   diffie-hellman-group16-sha512
594                   diffie-hellman-group18-sha512
595                   diffie-hellman-group-exchange-sha1
596                   diffie-hellman-group-exchange-sha256
597                   ecdh-sha2-nistp256
598                   ecdh-sha2-nistp384
599                   ecdh-sha2-nistp521
600
601             The default is handled system-wide by crypto-policies(7).  To see
602             the defaults and how to modifuy this default, see manual page
603             update-crypto-policies(8).
604
605             The list of available key exchange algorithms may also be
606             obtained using "ssh -Q kex".
607
608     ListenAddress
609             Specifies the local addresses sshd(8) should listen on.  The fol‐
610             lowing forms may be used:
611
612                   ListenAddress hostname|address [rdomain domain]
613                   ListenAddress hostname:port [rdomain domain]
614                   ListenAddress IPv4_address:port [rdomain domain]
615                   ListenAddress [hostname|address]:port [rdomain domain]
616
617             The optional rdomain qualifier requests sshd(8) listen in an
618             explicit routing domain.  If port is not specified, sshd will
619             listen on the address and all Port options specified.  The
620             default is to listen on all local addresses on the current
621             default routing domain.  Multiple ListenAddress options are per‐
622             mitted.  For more information on routing domains, see rdomain(4).
623
624     LoginGraceTime
625             The server disconnects after this time if the user has not suc‐
626             cessfully logged in.  If the value is 0, there is no time limit.
627             The default is 120 seconds.
628
629     LogLevel
630             Gives the verbosity level that is used when logging messages from
631             sshd(8).  The possible values are: QUIET, FATAL, ERROR, INFO,
632             VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.  The default is INFO.
633             DEBUG and DEBUG1 are equivalent.  DEBUG2 and DEBUG3 each specify
634             higher levels of debugging output.  Logging with a DEBUG level
635             violates the privacy of users and is not recommended.
636
637     MACs    Specifies the available MAC (message authentication code) algo‐
638             rithms.  The MAC algorithm is used for data integrity protection.
639             Multiple algorithms must be comma-separated.  If the specified
640             value begins with a ‘+’ character, then the specified algorithms
641             will be appended to the default set instead of replacing them.
642             If the specified value begins with a ‘-’ character, then the
643             specified algorithms (including wildcards) will be removed from
644             the default set instead of replacing them.
645
646             The algorithms that contain "-etm" calculate the MAC after
647             encryption (encrypt-then-mac).  These are considered safer and
648             their use recommended.  The supported MACs are:
649
650                   hmac-md5
651                   hmac-md5-96
652                   hmac-sha1
653                   hmac-sha1-96
654                   hmac-sha2-256
655                   hmac-sha2-512
656                   umac-64@openssh.com
657                   umac-128@openssh.com
658                   hmac-md5-etm@openssh.com
659                   hmac-md5-96-etm@openssh.com
660                   hmac-sha1-etm@openssh.com
661                   hmac-sha1-96-etm@openssh.com
662                   hmac-sha2-256-etm@openssh.com
663                   hmac-sha2-512-etm@openssh.com
664                   umac-64-etm@openssh.com
665                   umac-128-etm@openssh.com
666
667             The default is handled system-wide by crypto-policies(7).  To see
668             the defaults and how to modifuy this default, see manual page
669             update-crypto-policies(8).
670
671             The list of available MAC algorithms may also be obtained using
672             "ssh -Q mac".
673
674     Match   Introduces a conditional block.  If all of the criteria on the
675             Match line are satisfied, the keywords on the following lines
676             override those set in the global section of the config file,
677             until either another Match line or the end of the file.  If a
678             keyword appears in multiple Match blocks that are satisfied, only
679             the first instance of the keyword is applied.
680
681             The arguments to Match are one or more criteria-pattern pairs or
682             the single token All which matches all criteria.  The available
683             criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
684             and Address (with RDomain representing the rdomain(4) on which
685             the connection was received).
686
687             The match patterns may consist of single entries or comma-sepa‐
688             rated lists and may use the wildcard and negation operators
689             described in the PATTERNS section of ssh_config(5).
690
691             The patterns in an Address criteria may additionally contain
692             addresses to match in CIDR address/masklen format, such as
693             192.0.2.0/24 or 2001:db8::/32.  Note that the mask length pro‐
694             vided must be consistent with the address - it is an error to
695             specify a mask length that is too long for the address or one
696             with bits set in this host portion of the address.  For example,
697             192.0.2.0/33 and 192.0.2.0/8, respectively.
698
699             Only a subset of keywords may be used on the lines following a
700             Match keyword.  Available keywords are AcceptEnv,
701             AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
702             AllowTcpForwarding, AllowUsers, AuthenticationMethods,
703             AuthorizedKeysCommand, AuthorizedKeysCommandUser,
704             AuthorizedKeysFile, AuthorizedPrincipalsCommand,
705             AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
706             Banner, ChrootDirectory, ClientAliveCountMax,
707             ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
708             GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
709             HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IPQoS,
710             KbdInteractiveAuthentication, KerberosAuthentication,
711             KerberosUseKuserok, LogLevel, MaxAuthTries, MaxSessions,
712             PasswordAuthentication, PermitEmptyPasswords, PermitListen,
713             PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
714             PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication,
715             RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask,
716             StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset,
717             X11MaxDisplays, X11Forwarding and X11UseLocalHost.
718
719     MaxAuthTries
720             Specifies the maximum number of authentication attempts permitted
721             per connection.  Once the number of failures reaches half this
722             value, additional failures are logged.  The default is 6.
723
724     MaxSessions
725             Specifies the maximum number of open shell, login or subsystem
726             (e.g. sftp) sessions permitted per network connection.  Multiple
727             sessions may be established by clients that support connection
728             multiplexing.  Setting MaxSessions to 1 will effectively disable
729             session multiplexing, whereas setting it to 0 will prevent all
730             shell, login and subsystem sessions while still permitting for‐
731             warding.  The default is 10.
732
733     MaxStartups
734             Specifies the maximum number of concurrent unauthenticated con‐
735             nections to the SSH daemon.  Additional connections will be
736             dropped until authentication succeeds or the LoginGraceTime
737             expires for a connection.  The default is 10:30:100.
738
739             Alternatively, random early drop can be enabled by specifying the
740             three colon separated values start:rate:full (e.g. "10:30:60").
741             sshd(8) will refuse connection attempts with a probability of
742             rate/100 (30%) if there are currently start (10) unauthenticated
743             connections.  The probability increases linearly and all connec‐
744             tion attempts are refused if the number of unauthenticated con‐
745             nections reaches full (60).
746
747     PasswordAuthentication
748             Specifies whether password authentication is allowed.  The
749             default is yes.
750
751     PermitEmptyPasswords
752             When password authentication is allowed, it specifies whether the
753             server allows login to accounts with empty password strings.  The
754             default is no.
755
756     PermitListen
757             Specifies the addresses/ports on which a remote TCP port forward‐
758             ing may listen.  The listen specification must be one of the fol‐
759             lowing forms:
760
761                   PermitListen port
762                   PermitListen host:port
763
764             Multiple permissions may be specified by separating them with
765             whitespace.  An argument of any can be used to remove all
766             restrictions and permit any listen requests.  An argument of none
767             can be used to prohibit all listen requests.  The host name may
768             contain wildcards as described in the PATTERNS section in
769             ssh_config(5).  The wildcard ‘*’ can also be used in place of a
770             port number to allow all ports.  By default all port forwarding
771             listen requests are permitted.  Note that the GatewayPorts option
772             may further restrict which addresses may be listened on.  Note
773             also that ssh(1) will request a listen host of “localhost” if no
774             listen host was specifically requested, and this name is treated
775             differently to explicit localhost addresses of “127.0.0.1” and
776             “::1”.
777
778     PermitOpen
779             Specifies the destinations to which TCP port forwarding is per‐
780             mitted.  The forwarding specification must be one of the follow‐
781             ing forms:
782
783                   PermitOpen host:port
784                   PermitOpen IPv4_addr:port
785                   PermitOpen [IPv6_addr]:port
786
787             Multiple forwards may be specified by separating them with white‐
788             space.  An argument of any can be used to remove all restrictions
789             and permit any forwarding requests.  An argument of none can be
790             used to prohibit all forwarding requests.  The wildcard ‘*’ can
791             be used for host or port to allow all hosts or ports, respec‐
792             tively.  By default all port forwarding requests are permitted.
793
794     PermitRootLogin
795             Specifies whether root can log in using ssh(1).  The argument
796             must be yes, prohibit-password, forced-commands-only, or no.  The
797             default is prohibit-password.
798
799             If this option is set to prohibit-password (or its deprecated
800             alias, without-password), password and keyboard-interactive
801             authentication are disabled for root.
802
803             If this option is set to forced-commands-only, root login with
804             public key authentication will be allowed, but only if the
805             command option has been specified (which may be useful for taking
806             remote backups even if root login is normally not allowed).  All
807             other authentication methods are disabled for root.
808
809             If this option is set to no, root is not allowed to log in.
810
811     PermitTTY
812             Specifies whether pty(4) allocation is permitted.  The default is
813             yes.
814
815     PermitTunnel
816             Specifies whether tun(4) device forwarding is allowed.  The argu‐
817             ment must be yes, point-to-point (layer 3), ethernet (layer 2),
818             or no.  Specifying yes permits both point-to-point and ethernet.
819             The default is no.
820
821             Independent of this setting, the permissions of the selected
822             tun(4) device must allow access to the user.
823
824     PermitUserEnvironment
825             Specifies whether ~/.ssh/environment and environment= options in
826             ~/.ssh/authorized_keys are processed by sshd(8).  Valid options
827             are yes, no or a pattern-list specifying which environment vari‐
828             able names to accept (for example "LANG,LC_*").  The default is
829             no.  Enabling environment processing may enable users to bypass
830             access restrictions in some configurations using mechanisms such
831             as LD_PRELOAD.
832
833     PermitUserRC
834             Specifies whether any ~/.ssh/rc file is executed.  The default is
835             yes.
836
837     PidFile
838             Specifies the file that contains the process ID of the SSH dae‐
839             mon, or none to not write one.  The default is
840             /var/run/gsisshd.pid.
841
842     Port    Specifies the port number that sshd(8) listens on.  The default
843             is 22.  Multiple options of this type are permitted.  See also
844             ListenAddress.
845
846     PrintLastLog
847             Specifies whether sshd(8) should print the date and time of the
848             last user login when a user logs in interactively.  The default
849             is yes.
850
851     PrintMotd
852             Specifies whether sshd(8) should print /etc/motd when a user logs
853             in interactively.  (On some systems it is also printed by the
854             shell, /etc/profile, or equivalent.)  The default is yes.
855
856     PubkeyAcceptedKeyTypes
857             Specifies the key types that will be accepted for public key
858             authentication as a list of comma-separated patterns.  Alter‐
859             nately if the specified value begins with a ‘+’ character, then
860             the specified key types will be appended to the default set
861             instead of replacing them.  If the specified value begins with a
862             ‘-’ character, then the specified key types (including wildcards)
863             will be removed from the default set instead of replacing them.
864             The default is handled system-wide by crypto-policies(7).  To see
865             the defaults and how to modifuy this default, see manual page
866             update-crypto-policies(8).
867
868             The list of available key types may also be obtained using "ssh
869             -Q key".
870
871     PubkeyAuthentication
872             Specifies whether public key authentication is allowed.  The
873             default is yes.
874
875     RekeyLimit
876             Specifies the maximum amount of data that may be transmitted
877             before the session key is renegotiated, optionally followed a
878             maximum amount of time that may pass before the session key is
879             renegotiated.  The first argument is specified in bytes and may
880             have a suffix of ‘K’, ‘M’, or ‘G’ to indicate Kilobytes,
881             Megabytes, or Gigabytes, respectively.  The default is between
882             ‘1G’ and ‘4G’, depending on the cipher.  The optional second
883             value is specified in seconds and may use any of the units docu‐
884             mented in the TIME FORMATS section.  The default value for
885             RekeyLimit is default none, which means that rekeying is per‐
886             formed after the cipher's default amount of data has been sent or
887             received and no time based rekeying is done.
888
889     RevokedKeys
890             Specifies revoked public keys file, or none to not use one.  Keys
891             listed in this file will be refused for public key authentica‐
892             tion.  Note that if this file is not readable, then public key
893             authentication will be refused for all users.  Keys may be speci‐
894             fied as a text file, listing one public key per line, or as an
895             OpenSSH Key Revocation List (KRL) as generated by ssh-keygen(1).
896             For more information on KRLs, see the KEY REVOCATION LISTS sec‐
897             tion in ssh-keygen(1).
898
899     RDomain
900             Specifies an explicit routing domain that is applied after
901             authentication has completed.  The user session, as well and any
902             forwarded or listening IP sockets, will be bound to this
903             rdomain(4).  If the routing domain is set to %D, then the domain
904             in which the incoming connection was received will be applied.
905
906     SetEnv  Specifies one or more environment variables to set in child ses‐
907             sions started by sshd(8) as “NAME=VALUE”.  The environment value
908             may be quoted (e.g. if it contains whitespace characters).  Envi‐
909             ronment variables set by SetEnv override the default environment
910             and any variables specified by the user via AcceptEnv or
911             PermitUserEnvironment.
912
913     StreamLocalBindMask
914             Sets the octal file creation mode mask (umask) used when creating
915             a Unix-domain socket file for local or remote port forwarding.
916             This option is only used for port forwarding to a Unix-domain
917             socket file.
918
919             The default value is 0177, which creates a Unix-domain socket
920             file that is readable and writable only by the owner.  Note that
921             not all operating systems honor the file mode on Unix-domain
922             socket files.
923
924     StreamLocalBindUnlink
925             Specifies whether to remove an existing Unix-domain socket file
926             for local or remote port forwarding before creating a new one.
927             If the socket file already exists and StreamLocalBindUnlink is
928             not enabled, sshd will be unable to forward the port to the Unix-
929             domain socket file.  This option is only used for port forwarding
930             to a Unix-domain socket file.
931
932             The argument must be yes or no.  The default is no.
933
934     StrictModes
935             Specifies whether sshd(8) should check file modes and ownership
936             of the user's files and home directory before accepting login.
937             This is normally desirable because novices sometimes accidentally
938             leave their directory or files world-writable.  The default is
939             yes.  Note that this does not apply to ChrootDirectory, whose
940             permissions and ownership are checked unconditionally.
941
942     Subsystem
943             Configures an external subsystem (e.g. file transfer daemon).
944             Arguments should be a subsystem name and a command (with optional
945             arguments) to execute upon subsystem request.
946
947             The command sftp-server implements the SFTP file transfer subsys‐
948             tem.
949
950             Alternately the name internal-sftp implements an in-process SFTP
951             server.  This may simplify configurations using ChrootDirectory
952             to force a different filesystem root on clients.
953
954             By default no subsystems are defined.
955
956     SyslogFacility
957             Gives the facility code that is used when logging messages from
958             sshd(8).  The possible values are: DAEMON, USER, AUTH, AUTHPRIV,
959             LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
960             The default is AUTH.
961
962     TCPKeepAlive
963             Specifies whether the system should send TCP keepalive messages
964             to the other side.  If they are sent, death of the connection or
965             crash of one of the machines will be properly noticed.  However,
966             this means that connections will die if the route is down tempo‐
967             rarily, and some people find it annoying.  On the other hand, if
968             TCP keepalives are not sent, sessions may hang indefinitely on
969             the server, leaving "ghost" users and consuming server resources.
970
971             The default is yes (to send TCP keepalive messages), and the
972             server will notice if the network goes down or the client host
973             crashes.  This avoids infinitely hanging sessions.
974
975             To disable TCP keepalive messages, the value should be set to no.
976
977     TrustedUserCAKeys
978             Specifies a file containing public keys of certificate authori‐
979             ties that are trusted to sign user certificates for authentica‐
980             tion, or none to not use one.  Keys are listed one per line;
981             empty lines and comments starting with ‘#’ are allowed.  If a
982             certificate is presented for authentication and has its signing
983             CA key listed in this file, then it may be used for authentica‐
984             tion for any user listed in the certificate's principals list.
985             Note that certificates that lack a list of principals will not be
986             permitted for authentication using TrustedUserCAKeys.  For more
987             details on certificates, see the CERTIFICATES section in
988             ssh-keygen(1).
989
990     UseDNS  Specifies whether sshd(8) should look up the remote host name,
991             and to check that the resolved host name for the remote IP
992             address maps back to the very same IP address.
993
994             If this option is set to no (the default) then only addresses and
995             not host names may be used in ~/.ssh/authorized_keys from and
996             sshd_config Match Host directives.
997
998     UsePAM  Enables the Pluggable Authentication Module interface.  If set to
999             yes this will enable PAM authentication using
1000             ChallengeResponseAuthentication and PasswordAuthentication in
1001             addition to PAM account and session module processing for all
1002             authentication types.
1003
1004             Because PAM challenge-response authentication usually serves an
1005             equivalent role to password authentication, you should disable
1006             either PasswordAuthentication or ChallengeResponseAuthentication.
1007
1008             If UsePAM is enabled, you will not be able to run sshd(8) as a
1009             non-root user.  The default is no.
1010
1011     PermitPAMUserChange
1012             If set to yes this will enable PAM authentication to change the
1013             name of the user being authenticated.  The default is no.
1014
1015     VersionAddendum
1016             Optionally specifies additional text to append to the SSH proto‐
1017             col banner sent by the server upon connection.  The default is
1018             none.
1019
1020     X11DisplayOffset
1021             Specifies the first display number available for sshd(8)'s X11
1022             forwarding.  This prevents sshd from interfering with real X11
1023             servers.  The default is 10.
1024
1025     X11MaxDisplays
1026             Specifies the maximum number of displays available for sshd(8)'s
1027             X11 forwarding.  This prevents sshd from exhausting local ports.
1028             The default is 1000.
1029
1030     X11Forwarding
1031             Specifies whether X11 forwarding is permitted.  The argument must
1032             be yes or no.  The default is no.
1033
1034             When X11 forwarding is enabled, there may be additional exposure
1035             to the server and to client displays if the sshd(8) proxy display
1036             is configured to listen on the wildcard address (see
1037             X11UseLocalhost), though this is not the default.  Additionally,
1038             the authentication spoofing and authentication data verification
1039             and substitution occur on the client side.  The security risk of
1040             using X11 forwarding is that the client's X11 display server may
1041             be exposed to attack when the SSH client requests forwarding (see
1042             the warnings for ForwardX11 in ssh_config(5)).  A system adminis‐
1043             trator may have a stance in which they want to protect clients
1044             that may expose themselves to attack by unwittingly requesting
1045             X11 forwarding, which can warrant a no setting.
1046
1047             Note that disabling X11 forwarding does not prevent users from
1048             forwarding X11 traffic, as users can always install their own
1049             forwarders.
1050
1051     X11UseLocalhost
1052             Specifies whether sshd(8) should bind the X11 forwarding server
1053             to the loopback address or to the wildcard address.  By default,
1054             sshd binds the forwarding server to the loopback address and sets
1055             the hostname part of the DISPLAY environment variable to
1056             localhost.  This prevents remote hosts from connecting to the
1057             proxy display.  However, some older X11 clients may not function
1058             with this configuration.  X11UseLocalhost may be set to no to
1059             specify that the forwarding server should be bound to the wild‐
1060             card address.  The argument must be yes or no.  The default is
1061             yes.
1062
1063     XAuthLocation
1064             Specifies the full pathname of the xauth(1) program, or none to
1065             not use one.  The default is /usr/bin/xauth.
1066

TIME FORMATS

1068     sshd(8) command-line arguments and configuration file options that spec‐
1069     ify time may be expressed using a sequence of the form: time[qualifier],
1070     where time is a positive integer value and qualifier is one of the fol‐
1071     lowing:
1072
1073none⟩  seconds
1074           s | S   seconds
1075           m | M   minutes
1076           h | H   hours
1077           d | D   days
1078           w | W   weeks
1079
1080     Each member of the sequence is added together to calculate the total time
1081     value.
1082
1083     Time format examples:
1084
1085           600     600 seconds (10 minutes)
1086           10m     10 minutes
1087           1h30m   1 hour 30 minutes (90 minutes)
1088

TOKENS

1090     Arguments to some keywords can make use of tokens, which are expanded at
1091     runtime:
1092
1093           %%    A literal ‘%’.
1094           %D    The routing domain in which the incoming connection was
1095                 received.
1096           %F    The fingerprint of the CA key.
1097           %f    The fingerprint of the key or certificate.
1098           %h    The home directory of the user.
1099           %i    The key ID in the certificate.
1100           %K    The base64-encoded CA key.
1101           %k    The base64-encoded key or certificate for authentication.
1102           %s    The serial number of the certificate.
1103           %T    The type of the CA key.
1104           %t    The key or certificate type.
1105           %U    The numeric user ID of the target user.
1106           %u    The username.
1107
1108     AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1109
1110     AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1111
1112     AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1113     %k, %s, %T, %t, %U, and %u.
1114
1115     AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1116
1117     ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1118
1119     RoutingDomain accepts the token %D.
1120

FILES

1122     /etc/gsissh/sshd_config
1123             Contains configuration data for sshd(8).  This file should be
1124             writable by root only, but it is recommended (though not neces‐
1125             sary) that it be world-readable.
1126

SEE ALSO

1128     sftp-server(8), sshd(8)
1129

AUTHORS

1131     OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1132     Tatu Ylonen.  Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1133     de Raadt and Dug Song removed many bugs, re-added newer features and cre‐
1134     ated OpenSSH.  Markus Friedl contributed the support for SSH protocol
1135     versions 1.5 and 2.0.  Niels Provos and Markus Friedl contributed support
1136     for privilege separation.
1137
1138BSD                              June 21, 2019                             BSD
Impressum