1SSHD_CONFIG(5) BSD File Formats Manual SSHD_CONFIG(5)
2
4 sshd_config — OpenSSH daemon configuration file
5
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. Unless noted otherwise, for each keyword,
10 the first obtained value will be used. Lines starting with ‘#’ and empty
11 lines are interpreted as comments. Arguments may optionally be enclosed
12 in double quotes (") in 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 de‐
38 fault is yes. Note that disabling agent forwarding does not im‐
39 prove security unless users are also denied shell access, as they
40 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 groups directives are processed in the
49 following order: DenyGroups, AllowGroups.
50
51 See PATTERNS in ssh_config(5) for more information on patterns.
52 This keyword may appear multiple times in sshd_config with each
53 instance appending to the list.
54
55 AllowStreamLocalForwarding
56 Specifies whether StreamLocal (Unix-domain socket) forwarding is
57 permitted. The available options are yes (the default) or all to
58 allow StreamLocal forwarding, no to prevent all StreamLocal for‐
59 warding, local to allow local (from the perspective of ssh(1))
60 forwarding only or remote to allow remote forwarding only. Note
61 that disabling StreamLocal forwarding does not improve security
62 unless users are also denied shell access, as they can always in‐
63 stall their own forwarders.
64
65 AllowTcpForwarding
66 Specifies whether TCP forwarding is permitted. The available op‐
67 tions are yes (the default) or all to allow TCP forwarding, no to
68 prevent all TCP forwarding, local to allow local (from the per‐
69 spective of ssh(1)) forwarding only or remote to allow remote
70 forwarding only. Note that disabling TCP forwarding does not im‐
71 prove security unless users are also denied shell access, as they
72 can always install their own forwarders.
73
74 AllowUsers
75 This keyword can be followed by a list of user name patterns,
76 separated by spaces. If specified, login is allowed only for
77 user names that match one of the patterns. Only user names are
78 valid; a numerical user ID is not recognized. By default, login
79 is allowed for all users. If the pattern takes the form
80 USER@HOST then USER and HOST are separately checked, restricting
81 logins to particular users from particular hosts. HOST criteria
82 may additionally contain addresses to match in CIDR ad‐
83 dress/masklen format. The allow/deny users directives are pro‐
84 cessed in the following order: DenyUsers, AllowUsers.
85
86 See PATTERNS in ssh_config(5) for more information on patterns.
87 This keyword may appear multiple times in sshd_config with each
88 instance appending to the list.
89
90 AuthenticationMethods
91 Specifies the authentication methods that must be successfully
92 completed for a user to be granted access. This option must be
93 followed by one or more lists of comma-separated authentication
94 method names, or by the single string any to indicate the default
95 behaviour of accepting any single authentication method. If the
96 default is overridden, then successful authentication requires
97 completion of every method in at least one of these lists.
98
99 For example, "publickey,password publickey,keyboard-interactive"
100 would require the user to complete public key authentication,
101 followed by either password or keyboard interactive authentica‐
102 tion. Only methods that are next in one or more lists are of‐
103 fered at each stage, so for this example it would not be possible
104 to attempt password or keyboard-interactive authentication before
105 public key.
106
107 For keyboard interactive authentication it is also possible to
108 restrict authentication to a specific device by appending a colon
109 followed by the device identifier bsdauth or pam. depending on
110 the server configuration. For example,
111 "keyboard-interactive:bsdauth" would restrict keyboard interac‐
112 tive authentication to the bsdauth device.
113
114 If the publickey method is listed more than once, sshd(8) veri‐
115 fies that keys that have been used successfully are not reused
116 for subsequent authentications. For example,
117 "publickey,publickey" requires successful authentication using
118 two different public keys.
119
120 Note that each authentication method listed should also be ex‐
121 plicitly enabled in the configuration.
122
123 The available authentication methods are: "gssapi-with-mic",
124 "hostbased", "keyboard-interactive", "none" (used for access to
125 password-less accounts when PermitEmptyPasswords is enabled),
126 "password" and "publickey".
127
128 AuthorizedKeysCommand
129 Specifies a program to be used to look up the user's public keys.
130 The program must be owned by root, not writable by group or oth‐
131 ers and specified by an absolute path. Arguments to
132 AuthorizedKeysCommand accept the tokens described in the TOKENS
133 section. If no arguments are specified then the username of the
134 target user is used.
135
136 The program should produce on standard output zero or more lines
137 of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)).
138 AuthorizedKeysCommand is tried after the usual AuthorizedKeysFile
139 files and will not be executed if a matching key is found there.
140 By default, no AuthorizedKeysCommand is run.
141
142 AuthorizedKeysCommandUser
143 Specifies the user under whose account the AuthorizedKeysCommand
144 is run. It is recommended to use a dedicated user that has no
145 other role on the host than running authorized keys commands. If
146 AuthorizedKeysCommand is specified but AuthorizedKeysCommandUser
147 is not, then sshd(8) will refuse to start.
148
149 AuthorizedKeysFile
150 Specifies the file that contains the public keys used for user
151 authentication. The format is described in the AUTHORIZED_KEYS
152 FILE FORMAT section of sshd(8). Arguments to AuthorizedKeysFile
153 accept the tokens described in the TOKENS section. After expan‐
154 sion, AuthorizedKeysFile is taken to be an absolute path or one
155 relative to the user's home directory. Multiple files may be
156 listed, separated by whitespace. Alternately this option may be
157 set to none to skip checking for user keys in files. The default
158 is ".ssh/authorized_keys .ssh/authorized_keys2".
159
160 AuthorizedPrincipalsCommand
161 Specifies a program to be used to generate the list of allowed
162 certificate principals as per AuthorizedPrincipalsFile. The pro‐
163 gram must be owned by root, not writable by group or others and
164 specified by an absolute path. Arguments to
165 AuthorizedPrincipalsCommand accept the tokens described in the
166 TOKENS section. If no arguments are specified then the username
167 of the target user is used.
168
169 The program should produce on standard output zero or more lines
170 of AuthorizedPrincipalsFile output. If either
171 AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is speci‐
172 fied, then certificates offered by the client for authentication
173 must contain a principal that is listed. By default, no
174 AuthorizedPrincipalsCommand is run.
175
176 AuthorizedPrincipalsCommandUser
177 Specifies the user under whose account the
178 AuthorizedPrincipalsCommand is run. It is recommended to use a
179 dedicated user that has no other role on the host than running
180 authorized principals commands. If AuthorizedPrincipalsCommand
181 is specified but AuthorizedPrincipalsCommandUser is not, then
182 sshd(8) will refuse to start.
183
184 AuthorizedPrincipalsFile
185 Specifies a file that lists principal names that are accepted for
186 certificate authentication. When using certificates signed by a
187 key listed in TrustedUserCAKeys, this file lists names, one of
188 which must appear in the certificate for it to be accepted for
189 authentication. Names are listed one per line preceded by key
190 options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)).
191 Empty lines and comments starting with ‘#’ are ignored.
192
193 Arguments to AuthorizedPrincipalsFile accept the tokens described
194 in the TOKENS section. After expansion, AuthorizedPrincipalsFile
195 is taken to be an absolute path or one relative to the user's
196 home directory. The default is none, i.e. not to use a princi‐
197 pals file – in this case, the username of the user must appear in
198 a certificate's principals list for it to be accepted.
199
200 Note that AuthorizedPrincipalsFile is only used when authentica‐
201 tion proceeds using a CA listed in TrustedUserCAKeys and is not
202 consulted for certification authorities trusted via
203 ~/.ssh/authorized_keys, though the principals= key option offers
204 a similar facility (see sshd(8) for details).
205
206 Banner The contents of the specified file are sent to the remote user
207 before authentication is allowed. If the argument is none then
208 no banner is displayed. By default, no banner is displayed.
209
210 CASignatureAlgorithms
211 The default is handled system-wide by crypto-policies(7). Infor‐
212 mation about defaults, how to modify the defaults and how to cus‐
213 tomize existing policies with sub-policies are present in manual
214 page update-crypto-policies(8).
215
216 Specifies which algorithms are allowed for signing of certifi‐
217 cates by certificate authorities (CAs). If the specified list
218 begins with a ‘+’ character, then the specified algorithms will
219 be appended to the default set instead of replacing them. If the
220 specified list begins with a ‘-’ character, then the specified
221 algorithms (including wildcards) will be removed from the default
222 set instead of replacing them.
223
224 Certificates signed using other algorithms will not be accepted
225 for public key or host-based authentication.
226
227 ChannelTimeout
228 Specifies whether and how quickly sshd(8) should close inactive
229 channels. Timeouts are specified as one or more “type=interval”
230 pairs separated by whitespace, where the “type” must be a channel
231 type name (as described in the table below), optionally contain‐
232 ing wildcard characters.
233
234 The timeout value “interval” is specified in seconds or may use
235 any of the units documented in the TIME FORMATS section. For ex‐
236 ample, “session:*=5m” would cause all sessions to terminate after
237 five minutes of inactivity. Specifying a zero value disables the
238 inactivity timeout.
239
240 The available channel types include:
241
242 agent-connection
243 Open connections to ssh-agent(1).
244
245 direct-tcpip, direct-streamlocal@openssh.com
246 Open TCP or Unix socket (respectively) connections that
247 have been established from a ssh(1) local forwarding,
248 i.e. LocalForward or DynamicForward.
249
250 forwarded-tcpip, forwarded-streamlocal@openssh.com
251 Open TCP or Unix socket (respectively) connections that
252 have been established to a sshd(8) listening on behalf of
253 a ssh(1) remote forwarding, i.e. RemoteForward.
254
255 session:command
256 Command execution sessions.
257
258 session:shell
259 Interactive shell sessions.
260
261 session:subsystem:...
262 Subsystem sessions, e.g. for sftp(1), which could be
263 identified as session:subsystem:sftp.
264
265 x11-connection
266 Open X11 forwarding sessions.
267
268 Note that in all the above cases, terminating an inactive session
269 does not guarantee to remove all resources associated with the
270 session, e.g. shell processes or X11 clients relating to the ses‐
271 sion may continue to execute.
272
273 Moreover, terminating an inactive channel or session does not
274 necessarily close the SSH connection, nor does it prevent a
275 client from requesting another channel of the same type. In par‐
276 ticular, expiring an inactive forwarding session does not prevent
277 another identical forwarding from being subsequently created.
278 See also UnusedConnectionTimeout, which may be used in conjunc‐
279 tion with this option.
280
281 The default is not to expire channels of any type for inactivity.
282
283 ChrootDirectory
284 Specifies the pathname of a directory to chroot(2) to after au‐
285 thentication. At session startup sshd(8) checks that all compo‐
286 nents of the pathname are root-owned directories which are not
287 writable by any other user or group. After the chroot, sshd(8)
288 changes the working directory to the user's home directory. Ar‐
289 guments to ChrootDirectory accept the tokens described in the
290 TOKENS section.
291
292 The ChrootDirectory must contain the necessary files and directo‐
293 ries to support the user's session. For an interactive session
294 this requires at least a shell, typically sh(1), and basic /dev
295 nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4),
296 and tty(4) devices. For file transfer sessions using SFTP no ad‐
297 ditional configuration of the environment is necessary if the in-
298 process sftp-server is used, though sessions which use logging
299 may require /dev/log inside the chroot directory on some operat‐
300 ing systems (see sftp-server(8) for details).
301
302 For safety, it is very important that the directory hierarchy be
303 prevented from modification by other processes on the system (es‐
304 pecially those outside the jail). Misconfiguration can lead to
305 unsafe environments which sshd(8) cannot detect.
306
307 The default is none, indicating not to chroot(2).
308
309 Ciphers
310 The default is handled system-wide by crypto-policies(7). Infor‐
311 mation about defaults, how to modify the defaults and how to cus‐
312 tomize existing policies with sub-policies are present in manual
313 page update-crypto-policies(8).
314
315 Specifies the ciphers allowed. Multiple ciphers must be comma-
316 separated. If the specified list begins with a ‘+’ character,
317 then the specified ciphers will be appended to the built-in
318 openssh default set instead of replacing them. If the specified
319 list begins with a ‘-’ character, then the specified ciphers (in‐
320 cluding wildcards) will be removed from the built-in openssh de‐
321 fault set instead of replacing them. If the specified list be‐
322 gins with a ‘^’ character, then the specified ciphers will be
323 placed at the head of the built-in openssh default set.
324
325 The supported ciphers are:
326
327 3des-cbc
328 aes128-cbc
329 aes192-cbc
330 aes256-cbc
331 aes128-ctr
332 aes192-ctr
333 aes256-ctr
334 aes128-gcm@openssh.com
335 aes256-gcm@openssh.com
336 chacha20-poly1305@openssh.com
337
338 The list of available ciphers may also be obtained using "ssh -Q
339 cipher".
340
341 ClientAliveCountMax
342 Sets the number of client alive messages which may be sent with‐
343 out sshd(8) receiving any messages back from the client. If this
344 threshold is reached while client alive messages are being sent,
345 sshd will disconnect the client, terminating the session. It is
346 important to note that the use of client alive messages is very
347 different from TCPKeepAlive. The client alive messages are sent
348 through the encrypted channel and therefore will not be spoofa‐
349 ble. The TCP keepalive option enabled by TCPKeepAlive is spoofa‐
350 ble. The client alive mechanism is valuable when the client or
351 server depend on knowing when a connection has become unrespon‐
352 sive.
353
354 The default value is 3. If ClientAliveInterval is set to 15, and
355 ClientAliveCountMax is left at the default, unresponsive SSH
356 clients will be disconnected after approximately 45 seconds.
357 Setting a zero ClientAliveCountMax disables connection termina‐
358 tion.
359
360 ClientAliveInterval
361 Sets a timeout interval in seconds after which if no data has
362 been received from the client, sshd(8) will send a message
363 through the encrypted channel to request a response from the
364 client. The default is 0, indicating that these messages will
365 not be sent to the client.
366
367 Compression
368 Specifies whether compression is enabled after the user has au‐
369 thenticated successfully. The argument must be yes, delayed (a
370 legacy synonym for yes) or no. The default is yes.
371
372 DenyGroups
373 This keyword can be followed by a list of group name patterns,
374 separated by spaces. Login is disallowed for users whose primary
375 group or supplementary group list matches one of the patterns.
376 Only group names are valid; a numerical group ID is not recog‐
377 nized. By default, login is allowed for all groups. The al‐
378 low/deny groups directives are processed in the following order:
379 DenyGroups, AllowGroups.
380
381 See PATTERNS in ssh_config(5) for more information on patterns.
382 This keyword may appear multiple times in sshd_config with each
383 instance appending to the list.
384
385 DenyUsers
386 This keyword can be followed by a list of user name patterns,
387 separated by spaces. Login is disallowed for user names that
388 match one of the patterns. Only user names are valid; a numeri‐
389 cal user ID is not recognized. By default, login is allowed for
390 all users. If the pattern takes the form USER@HOST then USER and
391 HOST are separately checked, restricting logins to particular
392 users from particular hosts. HOST criteria may additionally con‐
393 tain addresses to match in CIDR address/masklen format. The al‐
394 low/deny users directives are processed in the following order:
395 DenyUsers, AllowUsers.
396
397 See PATTERNS in ssh_config(5) for more information on patterns.
398 This keyword may appear multiple times in sshd_config with each
399 instance appending to the list.
400
401 DisableForwarding
402 Disables all forwarding features, including X11, ssh-agent(1),
403 TCP and StreamLocal. This option overrides all other forwarding-
404 related options and may simplify restricted configurations.
405
406 ExposeAuthInfo
407 Writes a temporary file containing a list of authentication meth‐
408 ods and public credentials (e.g. keys) used to authenticate the
409 user. The location of the file is exposed to the user session
410 through the SSH_USER_AUTH environment variable. The default is
411 no.
412
413 FingerprintHash
414 Specifies the hash algorithm used when logging key fingerprints.
415 Valid options are: md5 and sha256. The default is sha256.
416
417 ForceCommand
418 Forces the execution of the command specified by ForceCommand,
419 ignoring any command supplied by the client and ~/.ssh/rc if
420 present. The command is invoked by using the user's login shell
421 with the -c option. This applies to shell, command, or subsystem
422 execution. It is most useful inside a Match block. The command
423 originally supplied by the client is available in the
424 SSH_ORIGINAL_COMMAND environment variable. Specifying a command
425 of internal-sftp will force the use of an in-process SFTP server
426 that requires no support files when used with ChrootDirectory.
427 The default is none.
428
429 GatewayPorts
430 Specifies whether remote hosts are allowed to connect to ports
431 forwarded for the client. By default, sshd(8) binds remote port
432 forwardings to the loopback address. This prevents other remote
433 hosts from connecting to forwarded ports. GatewayPorts can be
434 used to specify that sshd should allow remote port forwardings to
435 bind to non-loopback addresses, thus allowing other hosts to con‐
436 nect. The argument may be no to force remote port forwardings to
437 be available to the local host only, yes to force remote port
438 forwardings to bind to the wildcard address, or clientspecified
439 to allow the client to select the address to which the forwarding
440 is bound. The default is no.
441
442 GSIAllowLimitedProxy
443 Specifies whether to accept limited proxy credentials for authen‐
444 tication. The default is no.
445
446 GSSAPIAuthentication
447 Specifies whether user authentication based on GSSAPI is allowed.
448 The default is yes.
449
450 GSSAPICleanupCredentials
451 Specifies whether to automatically destroy the user's credentials
452 cache on logout. The default is yes.
453
454 GSSAPICredentialsPath
455 If specified, the delegated GSSAPI credential is stored in the
456 given path, overwriting any existing credentials. Paths can be
457 specified with syntax similar to the AuthorizedKeysFile option
458 (i.e., accepting %h and %u tokens). When using this option, set‐
459 ting 'GssapiCleanupCredentials no' is recommended, so logging out
460 of one session doesn't remove the credentials in use by another
461 session of the same user. Currently only implemented for the GSI
462 mechanism.
463
464 GSSAPIDelegateCredentials
465 Specifies whether delegated credentials are stored in the user's
466 environment. The default is yes.
467
468 GSSAPIEnablek5users
469 Specifies whether to look at .k5users file for GSSAPI authentica‐
470 tion access control. Further details are described in ksu(1).
471 The default is no.
472
473 GSSAPIKeyExchange
474 Specifies whether key exchange based on GSSAPI is allowed. GSSAPI
475 key exchange doesn't rely on ssh keys to verify host identity.
476 The default is yes.
477
478 GSSAPIStrictAcceptorCheck
479 Determines whether to be strict about the identity of the GSSAPI
480 acceptor a client authenticates against. If set to yes then the
481 client must authenticate against the host service on the current
482 hostname. If set to no then the client may authenticate against
483 any service key stored in the machine's default store. This fa‐
484 cility is provided to assist with operation on multi homed ma‐
485 chines. The default is yes.
486
487 GSSAPIStoreCredentialsOnRekey
488 Controls whether the user's GSSAPI credentials should be updated
489 following a successful connection rekeying. This option can be
490 used to accepted renewed or updated credentials from a compatible
491 client. The default is “no”.
492
493 For this to work GSSAPIKeyExchange needs to be enabled in the
494 server and also used by the client.
495
496 GSSAPIKexAlgorithms
497 The default is handled system-wide by crypto-policies(7). Infor‐
498 mation about defaults, how to modify the defaults and how to cus‐
499 tomize existing policies with sub-policies are present in manual
500 page update-crypto-policies(8).
501
502 The list of key exchange algorithms that are accepted by GSSAPI
503 key exchange. Possible values are
504
505 gss-gex-sha1-
506 gss-group1-sha1-
507 gss-group14-sha1-
508 gss-group14-sha256-
509 gss-group16-sha512-
510 gss-nistp256-sha256-
511 gss-curve25519-sha256-
512 This option only applies to connections using GSSAPI.
513
514 HostbasedAcceptedAlgorithms
515 The default is handled system-wide by crypto-policies(7). Infor‐
516 mation about defaults, how to modify the defaults and how to cus‐
517 tomize existing policies with sub-policies are present in manual
518 page update-crypto-policies(8).
519
520 Specifies the signature algorithms that will be accepted for
521 hostbased authentication as a list of comma-separated patterns.
522 Alternately if the specified list begins with a ‘+’ character,
523 then the specified signature algorithms will be appended to the
524 built-in openssh default set instead of replacing them. If the
525 specified list begins with a ‘-’ character, then the specified
526 signature algorithms (including wildcards) will be removed from
527 the built-in openssh default set instead of replacing them. If
528 the specified list begins with a ‘^’ character, then the speci‐
529 fied signature algorithms will be placed at the head of the
530 built-in openssh default set.
531
532 The list of available signature algorithms may also be obtained
533 using "ssh -Q HostbasedAcceptedAlgorithms". This was formerly
534 named HostbasedAcceptedKeyTypes.
535
536 HostbasedAuthentication
537 Specifies whether rhosts or /etc/hosts.equiv authentication to‐
538 gether with successful public key client host authentication is
539 allowed (host-based authentication). The default is no.
540
541 HostbasedUsesNameFromPacketOnly
542 Specifies whether or not the server will attempt to perform a re‐
543 verse name lookup when matching the name in the ~/.shosts,
544 ~/.rhosts, and /etc/hosts.equiv files during
545 HostbasedAuthentication. A setting of yes means that sshd(8)
546 uses the name supplied by the client rather than attempting to
547 resolve the name from the TCP connection itself. The default is
548 no.
549
550 HostCertificate
551 Specifies a file containing a public host certificate. The cer‐
552 tificate's public key must match a private host key already spec‐
553 ified by HostKey. The default behaviour of sshd(8) is not to
554 load any certificates.
555
556 HostKey
557 Specifies a file containing a private host key used by SSH. The
558 defaults are /etc/gsissh/ssh_host_ecdsa_key,
559 /etc/gsissh/ssh_host_ed25519_key and
560 /etc/gsissh/ssh_host_rsa_key.
561
562 Note that sshd(8) will refuse to use a file if it is group/world-
563 accessible and that the HostKeyAlgorithms option restricts which
564 of the keys are actually used by sshd(8).
565
566 It is possible to have multiple host key files. It is also pos‐
567 sible to specify public host key files instead. In this case op‐
568 erations on the private key will be delegated to an ssh-agent(1).
569
570 HostKeyAgent
571 Identifies the UNIX-domain socket used to communicate with an
572 agent that has access to the private host keys. If the string
573 "SSH_AUTH_SOCK" is specified, the location of the socket will be
574 read from the SSH_AUTH_SOCK environment variable.
575
576 HostKeyAlgorithms
577 The default is handled system-wide by crypto-policies(7). Infor‐
578 mation about defaults, how to modify the defaults and how to cus‐
579 tomize existing policies with sub-policies are present in manual
580 page update-crypto-policies(8).
581
582 Specifies the host key signature algorithms that the server of‐
583 fers. The default for this option is: The list of available sig‐
584 nature algorithms may also be obtained using "ssh -Q
585 HostKeyAlgorithms".
586
587 IgnoreRhosts
588 Specifies whether to ignore per-user .rhosts and .shosts files
589 during HostbasedAuthentication. The system-wide /etc/hosts.equiv
590 and /etc/gsissh/shosts.equiv are still used regardless of this
591 setting.
592
593 Accepted values are yes (the default) to ignore all per-user
594 files, shosts-only to allow the use of .shosts but to ignore
595 .rhosts or no to allow both .shosts and rhosts.
596
597 IgnoreUserKnownHosts
598 Specifies whether sshd(8) should ignore the user's
599 ~/.ssh/known_hosts during HostbasedAuthentication and use only
600 the system-wide known hosts file /etc/gsissh/ssh_known_hosts.
601 The default is “no”.
602
603 Include
604 Include the specified configuration file(s). Multiple pathnames
605 may be specified and each pathname may contain glob(7) wildcards
606 that will be expanded and processed in lexical order. Files
607 without absolute paths are assumed to be in /etc/ssh. An Include
608 directive may appear inside a Match block to perform conditional
609 inclusion.
610
611 IPQoS Specifies the IPv4 type-of-service or DSCP class for the connec‐
612 tion. Accepted values are af11, af12, af13, af21, af22, af23,
613 af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5,
614 cs6, cs7, ef, le, lowdelay, throughput, reliability, a numeric
615 value, or none to use the operating system default. This option
616 may take one or two arguments, separated by whitespace. If one
617 argument is specified, it is used as the packet class uncondi‐
618 tionally. If two values are specified, the first is automati‐
619 cally selected for interactive sessions and the second for non-
620 interactive sessions. The default is af21 (Low-Latency Data) for
621 interactive sessions and cs1 (Lower Effort) for non-interactive
622 sessions.
623
624 KbdInteractiveAuthentication
625 Specifies whether to allow keyboard-interactive authentication.
626 All authentication styles from login.conf(5) are supported. The
627 default is yes. The argument to this keyword must be yes or no.
628 ChallengeResponseAuthentication is a deprecated alias for this.
629
630 KerberosAuthentication
631 Specifies whether the password provided by the user for
632 PasswordAuthentication will be validated through the Kerberos
633 KDC. To use this option, the server needs a Kerberos servtab
634 which allows the verification of the KDC's identity. The default
635 is no.
636
637 KerberosGetAFSToken
638 If AFS is active and the user has a Kerberos 5 TGT, attempt to
639 acquire an AFS token before accessing the user's home directory.
640 The default is no.
641
642 KerberosOrLocalPasswd
643 If password authentication through Kerberos fails then the pass‐
644 word will be validated via any additional local mechanism such as
645 /etc/passwd. The default is yes.
646
647 KerberosTicketCleanup
648 Specifies whether to automatically destroy the user's ticket
649 cache file on logout. The default is yes.
650
651 KerberosUniqueCCache
652 Specifies whether to store the acquired tickets in the per-ses‐
653 sion credential cache under /tmp/ or whether to use per-user cre‐
654 dential cache as configured in /etc/krb5.conf. The default value
655 no can lead to overwriting previous tickets by subseqent connec‐
656 tions to the same user account.
657
658 KerberosUseKuserok
659 Specifies whether to look at .k5login file for user's aliases.
660 The default is yes.
661
662 KexAlgorithms
663 The default is handled system-wide by crypto-policies(7). Infor‐
664 mation about defaults, how to modify the defaults and how to cus‐
665 tomize existing policies with sub-policies are present in manual
666 page update-crypto-policies(8).
667
668 Specifies the available KEX (Key Exchange) algorithms. Multiple
669 algorithms must be comma-separated. Alternately if the specified
670 list begins with a ‘+’ character, then the specified methods will
671 be appended to the built-in openssh default set instead of re‐
672 placing them. If the specified list begins with a ‘-’ character,
673 then the specified algorithms (including wildcards) will be re‐
674 moved from the built-in openssh default set instead of replacing
675 them. If the specified list begins with a ‘^’ character, then
676 the specified algorithms will be placed at the head of the built-
677 in openssh default set. The supported algorithms are:
678
679 curve25519-sha256
680 curve25519-sha256@libssh.org
681 diffie-hellman-group1-sha1
682 diffie-hellman-group14-sha1
683 diffie-hellman-group14-sha256
684 diffie-hellman-group16-sha512
685 diffie-hellman-group18-sha512
686 diffie-hellman-group-exchange-sha1
687 diffie-hellman-group-exchange-sha256
688 ecdh-sha2-nistp256
689 ecdh-sha2-nistp384
690 ecdh-sha2-nistp521
691 sntrup761x25519-sha512@openssh.com
692
693 The list of available key exchange algorithms may also be ob‐
694 tained using "ssh -Q KexAlgorithms".
695
696 ListenAddress
697 Specifies the local addresses sshd(8) should listen on. The fol‐
698 lowing forms may be used:
699
700 ListenAddress hostname|address [rdomain domain]
701 ListenAddress hostname:port [rdomain domain]
702 ListenAddress IPv4_address:port [rdomain domain]
703 ListenAddress [hostname|address]:port [rdomain domain]
704
705 The optional rdomain qualifier requests sshd(8) listen in an ex‐
706 plicit routing domain. If port is not specified, sshd will lis‐
707 ten on the address and all Port options specified. The default
708 is to listen on all local addresses on the current default rout‐
709 ing domain. Multiple ListenAddress options are permitted. For
710 more information on routing domains, see rdomain(4).
711
712 LoginGraceTime
713 The server disconnects after this time if the user has not suc‐
714 cessfully logged in. If the value is 0, there is no time limit.
715 The default is 120 seconds.
716
717 LogLevel
718 Gives the verbosity level that is used when logging messages from
719 sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
720 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
721 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
722 higher levels of debugging output. Logging with a DEBUG level
723 violates the privacy of users and is not recommended.
724
725 LogVerbose
726 Specify one or more overrides to LogLevel. An override consists
727 of a pattern lists that matches the source file, function and
728 line number to force detailed logging for. For example, an over‐
729 ride pattern of:
730
731 kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*
732
733 would enable detailed logging for line 1000 of kex.c, everything
734 in the kex_exchange_identification() function, and all code in
735 the packet.c file. This option is intended for debugging and no
736 overrides are enabled by default.
737
738 MACs The default is handled system-wide by crypto-policies(7). Infor‐
739 mation about defaults, how to modify the defaults and how to cus‐
740 tomize existing policies with sub-policies are present in manual
741 page update-crypto-policies(8).
742
743 Specifies the available MAC (message authentication code) algo‐
744 rithms. The MAC algorithm is used for data integrity protection.
745 Multiple algorithms must be comma-separated. If the specified
746 list begins with a ‘+’ character, then the specified algorithms
747 will be appended to the built-in openssh default set instead of
748 replacing them. If the specified list begins with a ‘-’ charac‐
749 ter, then the specified algorithms (including wildcards) will be
750 removed from the built-in openssh default set instead of replac‐
751 ing them. If the specified list begins with a ‘^’ character,
752 then the specified algorithms will be placed at the head of the
753 built-in openssh default set.
754
755 The algorithms that contain "-etm" calculate the MAC after en‐
756 cryption (encrypt-then-mac). These are considered safer and
757 their use recommended. The supported MACs are:
758
759 hmac-md5
760 hmac-md5-96
761 hmac-sha1
762 hmac-sha1-96
763 hmac-sha2-256
764 hmac-sha2-512
765 umac-64@openssh.com
766 umac-128@openssh.com
767 hmac-md5-etm@openssh.com
768 hmac-md5-96-etm@openssh.com
769 hmac-sha1-etm@openssh.com
770 hmac-sha1-96-etm@openssh.com
771 hmac-sha2-256-etm@openssh.com
772 hmac-sha2-512-etm@openssh.com
773 umac-64-etm@openssh.com
774 umac-128-etm@openssh.com
775
776 The list of available MAC algorithms may also be obtained using
777 "ssh -Q mac".
778
779 Match Introduces a conditional block. If all of the criteria on the
780 Match line are satisfied, the keywords on the following lines
781 override those set in the global section of the config file, un‐
782 til either another Match line or the end of the file. If a key‐
783 word appears in multiple Match blocks that are satisfied, only
784 the first instance of the keyword is applied.
785
786 The arguments to Match are one or more criteria-pattern pairs or
787 the single token All which matches all criteria. The available
788 criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
789 and Address (with RDomain representing the rdomain(4) on which
790 the connection was received).
791
792 The match patterns may consist of single entries or comma-sepa‐
793 rated lists and may use the wildcard and negation operators de‐
794 scribed in the PATTERNS section of ssh_config(5).
795
796 The patterns in an Address criteria may additionally contain ad‐
797 dresses to match in CIDR address/masklen format, such as
798 192.0.2.0/24 or 2001:db8::/32. Note that the mask length pro‐
799 vided must be consistent with the address - it is an error to
800 specify a mask length that is too long for the address or one
801 with bits set in this host portion of the address. For example,
802 192.0.2.0/33 and 192.0.2.0/8, respectively.
803
804 Only a subset of keywords may be used on the lines following a
805 Match keyword. Available keywords are AcceptEnv,
806 AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
807 AllowTcpForwarding, AllowUsers, AuthenticationMethods,
808 AuthorizedKeysCommand, AuthorizedKeysCommandUser,
809 AuthorizedKeysFile, AuthorizedPrincipalsCommand,
810 AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
811 Banner, CASignatureAlgorithms, ChannelTimeout, ChrootDirectory,
812 ClientAliveCountMax, ClientAliveInterval, DenyGroups, DenyUsers,
813 DisableForwarding, ExposeAuthInfo, ForceCommand, GatewayPorts,
814 GSSAPIAuthentication, HostbasedAcceptedAlgorithms,
815 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
816 IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication,
817 KerberosAuthentication, KerberosUseKuserok, LogLevel,
818 MaxAuthTries, MaxSessions, PasswordAuthentication,
819 PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin,
820 PermitTTY, PermitTunnel, PermitUserRC, PubkeyAcceptedAlgorithms,
821 PubkeyAuthentication, PubkeyAuthOptions, RekeyLimit, RevokedKeys,
822 RDomain, SetEnv, StreamLocalBindMask, StreamLocalBindUnlink,
823 TrustedUserCAKeys, UnusedConnectionTimeout, X11DisplayOffset,
824 X11MaxDisplays, X11Forwarding and X11UseLocalhost.
825
826 MaxAuthTries
827 Specifies the maximum number of authentication attempts permitted
828 per connection. Once the number of failures reaches half this
829 value, additional failures are logged. The default is 6.
830
831 MaxSessions
832 Specifies the maximum number of open shell, login or subsystem
833 (e.g. sftp) sessions permitted per network connection. Multiple
834 sessions may be established by clients that support connection
835 multiplexing. Setting MaxSessions to 1 will effectively disable
836 session multiplexing, whereas setting it to 0 will prevent all
837 shell, login and subsystem sessions while still permitting for‐
838 warding. The default is 10.
839
840 MaxStartups
841 Specifies the maximum number of concurrent unauthenticated con‐
842 nections to the SSH daemon. Additional connections will be
843 dropped until authentication succeeds or the LoginGraceTime ex‐
844 pires for a connection. The default is 10:30:100.
845
846 Alternatively, random early drop can be enabled by specifying the
847 three colon separated values start:rate:full (e.g. "10:30:60").
848 sshd(8) will refuse connection attempts with a probability of
849 rate/100 (30%) if there are currently start (10) unauthenticated
850 connections. The probability increases linearly and all connec‐
851 tion attempts are refused if the number of unauthenticated con‐
852 nections reaches full (60).
853
854 ModuliFile
855 Specifies the moduli(5) file that contains the Diffie-Hellman
856 groups used for the “diffie-hellman-group-exchange-sha1” and
857 “diffie-hellman-group-exchange-sha256” key exchange methods. The
858 default is /etc/gsissh/moduli.
859
860 PasswordAuthentication
861 Specifies whether password authentication is allowed. The de‐
862 fault is yes.
863
864 PermitEmptyPasswords
865 When password authentication is allowed, it specifies whether the
866 server allows login to accounts with empty password strings. The
867 default is no.
868
869 PermitListen
870 Specifies the addresses/ports on which a remote TCP port forward‐
871 ing may listen. The listen specification must be one of the fol‐
872 lowing forms:
873
874 PermitListen port
875 PermitListen host:port
876
877 Multiple permissions may be specified by separating them with
878 whitespace. An argument of any can be used to remove all re‐
879 strictions and permit any listen requests. An argument of none
880 can be used to prohibit all listen requests. The host name may
881 contain wildcards as described in the PATTERNS section in
882 ssh_config(5). The wildcard ‘*’ can also be used in place of a
883 port number to allow all ports. By default all port forwarding
884 listen requests are permitted. Note that the GatewayPorts option
885 may further restrict which addresses may be listened on. Note
886 also that ssh(1) will request a listen host of “localhost” if no
887 listen host was specifically requested, and this name is treated
888 differently to explicit localhost addresses of “127.0.0.1” and
889 “::1”.
890
891 PermitOpen
892 Specifies the destinations to which TCP port forwarding is per‐
893 mitted. The forwarding specification must be one of the follow‐
894 ing forms:
895
896 PermitOpen host:port
897 PermitOpen IPv4_addr:port
898 PermitOpen [IPv6_addr]:port
899
900 Multiple forwards may be specified by separating them with white‐
901 space. An argument of any can be used to remove all restrictions
902 and permit any forwarding requests. An argument of none can be
903 used to prohibit all forwarding requests. The wildcard ‘*’ can
904 be used for host or port to allow all hosts or ports respec‐
905 tively. Otherwise, no pattern matching or address lookups are
906 performed on supplied names. By default all port forwarding re‐
907 quests are permitted.
908
909 PermitRootLogin
910 Specifies whether root can log in using ssh(1). The argument
911 must be yes, prohibit-password, forced-commands-only, or no. The
912 default is prohibit-password.
913
914 If this option is set to prohibit-password (or its deprecated
915 alias, without-password), password and keyboard-interactive au‐
916 thentication are disabled for root.
917
918 If this option is set to forced-commands-only, root login with
919 public key authentication will be allowed, but only if the
920 command option has been specified (which may be useful for taking
921 remote backups even if root login is normally not allowed). All
922 other authentication methods are disabled for root.
923
924 If this option is set to no, root is not allowed to log in.
925
926 PermitTTY
927 Specifies whether pty(4) allocation is permitted. The default is
928 yes.
929
930 PermitTunnel
931 Specifies whether tun(4) device forwarding is allowed. The argu‐
932 ment must be yes, point-to-point (layer 3), ethernet (layer 2),
933 or no. Specifying yes permits both point-to-point and ethernet.
934 The default is no.
935
936 Independent of this setting, the permissions of the selected
937 tun(4) device must allow access to the user.
938
939 PermitUserEnvironment
940 Specifies whether ~/.ssh/environment and environment= options in
941 ~/.ssh/authorized_keys are processed by sshd(8). Valid options
942 are yes, no or a pattern-list specifying which environment vari‐
943 able names to accept (for example "LANG,LC_*"). The default is
944 no. Enabling environment processing may enable users to bypass
945 access restrictions in some configurations using mechanisms such
946 as LD_PRELOAD.
947
948 PermitUserRC
949 Specifies whether any ~/.ssh/rc file is executed. The default is
950 yes.
951
952 PerSourceMaxStartups
953 Specifies the number of unauthenticated connections allowed from
954 a given source address, or “none” if there is no limit. This
955 limit is applied in addition to MaxStartups, whichever is lower.
956 The default is none.
957
958 PerSourceNetBlockSize
959 Specifies the number of bits of source address that are grouped
960 together for the purposes of applying PerSourceMaxStartups lim‐
961 its. Values for IPv4 and optionally IPv6 may be specified, sepa‐
962 rated by a colon. The default is 32:128, which means each ad‐
963 dress is considered individually.
964
965 PidFile
966 Specifies the file that contains the process ID of the SSH dae‐
967 mon, or none to not write one. The default is
968 /var/run/gsisshd.pid.
969
970 Port Specifies the port number that sshd(8) listens on. The default
971 is 22. Multiple options of this type are permitted. See also
972 ListenAddress.
973
974 PrintLastLog
975 Specifies whether sshd(8) should print the date and time of the
976 last user login when a user logs in interactively. The default
977 is yes.
978
979 PrintMotd
980 Specifies whether sshd(8) should print /etc/motd when a user logs
981 in interactively. (On some systems it is also printed by the
982 shell, /etc/profile, or equivalent.) The default is yes.
983
984 PubkeyAcceptedAlgorithms
985 The default is handled system-wide by crypto-policies(7). Infor‐
986 mation about defaults, how to modify the defaults and how to cus‐
987 tomize existing policies with sub-policies are present in manual
988 page update-crypto-policies(8).
989
990 Specifies the signature algorithms that will be accepted for pub‐
991 lic key authentication as a list of comma-separated patterns.
992 Alternately if the specified list begins with a ‘+’ character,
993 then the specified algorithms will be appended to the built-in
994 openssh default set instead of replacing them. If the specified
995 list begins with a ‘-’ character, then the specified algorithms
996 (including wildcards) will be removed from the built-in openssh
997 default set instead of replacing them. If the specified list be‐
998 gins with a ‘^’ character, then the specified algorithms will be
999 placed at the head of the built-in openssh default set.
1000
1001 The list of available signature algorithms may also be obtained
1002 using "ssh -Q PubkeyAcceptedAlgorithms".
1003
1004 PubkeyAuthOptions
1005 Sets one or more public key authentication options. The sup‐
1006 ported keywords are: none (the default; indicating no additional
1007 options are enabled), touch-required and verify-required.
1008
1009 The touch-required option causes public key authentication using
1010 a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to
1011 always require the signature to attest that a physically present
1012 user explicitly confirmed the authentication (usually by touching
1013 the authenticator). By default, sshd(8) requires user presence
1014 unless overridden with an authorized_keys option. The
1015 touch-required flag disables this override.
1016
1017 The verify-required option requires a FIDO key signature attest
1018 that the user was verified, e.g. via a PIN.
1019
1020 Neither the touch-required or verify-required options have any
1021 effect for other, non-FIDO, public key types.
1022
1023 PubkeyAuthentication
1024 Specifies whether public key authentication is allowed. The de‐
1025 fault is yes.
1026
1027 RekeyLimit
1028 Specifies the maximum amount of data that may be transmitted or
1029 received before the session key is renegotiated, optionally fol‐
1030 lowed by a maximum amount of time that may pass before the ses‐
1031 sion key is renegotiated. The first argument is specified in
1032 bytes and may have a suffix of ‘K’, ‘M’, or ‘G’ to indicate Kilo‐
1033 bytes, Megabytes, or Gigabytes, respectively. The default is be‐
1034 tween ‘1G’ and ‘4G’, depending on the cipher. The optional sec‐
1035 ond value is specified in seconds and may use any of the units
1036 documented in the TIME FORMATS section. The default value for
1037 RekeyLimit is default none, which means that rekeying is per‐
1038 formed after the cipher's default amount of data has been sent or
1039 received and no time based rekeying is done.
1040
1041 RequiredRSASize
1042 Specifies the minimum RSA key size (in bits) that sshd(8) will
1043 accept. User and host-based authentication keys smaller than
1044 this limit will be refused. The default is 1024 bits. Note that
1045 this limit may only be raised from the default.
1046
1047 RevokedKeys
1048 Specifies revoked public keys file, or none to not use one. Keys
1049 listed in this file will be refused for public key authentica‐
1050 tion. Note that if this file is not readable, then public key
1051 authentication will be refused for all users. Keys may be speci‐
1052 fied as a text file, listing one public key per line, or as an
1053 OpenSSH Key Revocation List (KRL) as generated by ssh-keygen(1).
1054 For more information on KRLs, see the KEY REVOCATION LISTS sec‐
1055 tion in ssh-keygen(1).
1056
1057 RDomain
1058 Specifies an explicit routing domain that is applied after au‐
1059 thentication has completed. The user session, as well as any
1060 forwarded or listening IP sockets, will be bound to this
1061 rdomain(4). If the routing domain is set to %D, then the domain
1062 in which the incoming connection was received will be applied.
1063
1064 SecurityKeyProvider
1065 Specifies a path to a library that will be used when loading FIDO
1066 authenticator-hosted keys, overriding the default of using the
1067 built-in USB HID support.
1068
1069 SetEnv Specifies one or more environment variables to set in child ses‐
1070 sions started by sshd(8) as “NAME=VALUE”. The environment value
1071 may be quoted (e.g. if it contains whitespace characters). Envi‐
1072 ronment variables set by SetEnv override the default environment
1073 and any variables specified by the user via AcceptEnv or
1074 PermitUserEnvironment.
1075
1076 StreamLocalBindMask
1077 Sets the octal file creation mode mask (umask) used when creating
1078 a Unix-domain socket file for local or remote port forwarding.
1079 This option is only used for port forwarding to a Unix-domain
1080 socket file.
1081
1082 The default value is 0177, which creates a Unix-domain socket
1083 file that is readable and writable only by the owner. Note that
1084 not all operating systems honor the file mode on Unix-domain
1085 socket files.
1086
1087 StreamLocalBindUnlink
1088 Specifies whether to remove an existing Unix-domain socket file
1089 for local or remote port forwarding before creating a new one.
1090 If the socket file already exists and StreamLocalBindUnlink is
1091 not enabled, sshd will be unable to forward the port to the Unix-
1092 domain socket file. This option is only used for port forwarding
1093 to a Unix-domain socket file.
1094
1095 The argument must be yes or no. The default is no.
1096
1097 StrictModes
1098 Specifies whether sshd(8) should check file modes and ownership
1099 of the user's files and home directory before accepting login.
1100 This is normally desirable because novices sometimes accidentally
1101 leave their directory or files world-writable. The default is
1102 yes. Note that this does not apply to ChrootDirectory, whose
1103 permissions and ownership are checked unconditionally.
1104
1105 Subsystem
1106 Configures an external subsystem (e.g. file transfer daemon).
1107 Arguments should be a subsystem name and a command (with optional
1108 arguments) to execute upon subsystem request.
1109
1110 The command sftp-server implements the SFTP file transfer subsys‐
1111 tem.
1112
1113 Alternately the name internal-sftp implements an in-process SFTP
1114 server. This may simplify configurations using ChrootDirectory
1115 to force a different filesystem root on clients.
1116
1117 By default no subsystems are defined.
1118
1119 SyslogFacility
1120 Gives the facility code that is used when logging messages from
1121 sshd(8). The possible values are: DAEMON, USER, AUTH, AUTHPRIV,
1122 LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
1123 The default is AUTH.
1124
1125 TCPKeepAlive
1126 Specifies whether the system should send TCP keepalive messages
1127 to the other side. If they are sent, death of the connection or
1128 crash of one of the machines will be properly noticed. However,
1129 this means that connections will die if the route is down tempo‐
1130 rarily, and some people find it annoying. On the other hand, if
1131 TCP keepalives are not sent, sessions may hang indefinitely on
1132 the server, leaving "ghost" users and consuming server resources.
1133
1134 The default is yes (to send TCP keepalive messages), and the
1135 server will notice if the network goes down or the client host
1136 crashes. This avoids infinitely hanging sessions.
1137
1138 To disable TCP keepalive messages, the value should be set to no.
1139
1140 TrustedUserCAKeys
1141 Specifies a file containing public keys of certificate authori‐
1142 ties that are trusted to sign user certificates for authentica‐
1143 tion, or none to not use one. Keys are listed one per line;
1144 empty lines and comments starting with ‘#’ are allowed. If a
1145 certificate is presented for authentication and has its signing
1146 CA key listed in this file, then it may be used for authentica‐
1147 tion for any user listed in the certificate's principals list.
1148 Note that certificates that lack a list of principals will not be
1149 permitted for authentication using TrustedUserCAKeys. For more
1150 details on certificates, see the CERTIFICATES section in
1151 ssh-keygen(1).
1152
1153 UnusedConnectionTimeout
1154 Specifies whether and how quickly sshd(8) should close client
1155 connections with no open channels. Open channels include active
1156 shell, command execution or subsystem sessions, connected net‐
1157 work, socket, agent or X11 forwardings. Forwarding listeners,
1158 such as those from the ssh(1) -R flag, are not considered as open
1159 channels and do not prevent the timeout. The timeout value is
1160 specified in seconds or may use any of the units documented in
1161 the TIME FORMATS section.
1162
1163 Note that this timeout starts when the client connection com‐
1164 pletes user authentication but before the client has an opportu‐
1165 nity to open any channels. Caution should be used when using
1166 short timeout values, as they may not provide sufficient time for
1167 the client to request and open its channels before terminating
1168 the connection.
1169
1170 The default none is to never expire connections for having no
1171 open channels. This option may be useful in conjunction with
1172 ChannelTimeout.
1173
1174 UseDNS Specifies whether sshd(8) should look up the remote host name,
1175 and to check that the resolved host name for the remote IP ad‐
1176 dress maps back to the very same IP address.
1177
1178 If this option is set to no (the default) then only addresses and
1179 not host names may be used in ~/.ssh/authorized_keys from and
1180 sshd_config Match Host directives.
1181
1182 UsePAM Enables the Pluggable Authentication Module interface. If set to
1183 yes this will enable PAM authentication using
1184 KbdInteractiveAuthentication and PasswordAuthentication in addi‐
1185 tion to PAM account and session module processing for all authen‐
1186 tication types.
1187
1188 Because PAM keyboard-interactive authentication usually serves an
1189 equivalent role to password authentication, you should disable
1190 either PasswordAuthentication or KbdInteractiveAuthentication.
1191
1192 If UsePAM is enabled, you will not be able to run sshd(8) as a
1193 non-root user. The default is no.
1194
1195 PermitPAMUserChange
1196 If set to yes this will enable PAM authentication to change the
1197 name of the user being authenticated. The default is no.
1198
1199 VersionAddendum
1200 Optionally specifies additional text to append to the SSH proto‐
1201 col banner sent by the server upon connection. The default is
1202 none.
1203
1204 X11DisplayOffset
1205 Specifies the first display number available for sshd(8)'s X11
1206 forwarding. This prevents sshd from interfering with real X11
1207 servers. The default is 10.
1208
1209 X11MaxDisplays
1210 Specifies the maximum number of displays available for sshd(8)'s
1211 X11 forwarding. This prevents sshd from exhausting local ports.
1212 The default is 1000.
1213
1214 X11Forwarding
1215 Specifies whether X11 forwarding is permitted. The argument must
1216 be yes or no. The default is no.
1217
1218 When X11 forwarding is enabled, there may be additional exposure
1219 to the server and to client displays if the sshd(8) proxy display
1220 is configured to listen on the wildcard address (see
1221 X11UseLocalhost), though this is not the default. Additionally,
1222 the authentication spoofing and authentication data verification
1223 and substitution occur on the client side. The security risk of
1224 using X11 forwarding is that the client's X11 display server may
1225 be exposed to attack when the SSH client requests forwarding (see
1226 the warnings for ForwardX11 in ssh_config(5)). A system adminis‐
1227 trator may have a stance in which they want to protect clients
1228 that may expose themselves to attack by unwittingly requesting
1229 X11 forwarding, which can warrant a no setting.
1230
1231 Note that disabling X11 forwarding does not prevent users from
1232 forwarding X11 traffic, as users can always install their own
1233 forwarders.
1234
1235 X11UseLocalhost
1236 Specifies whether sshd(8) should bind the X11 forwarding server
1237 to the loopback address or to the wildcard address. By default,
1238 sshd binds the forwarding server to the loopback address and sets
1239 the hostname part of the DISPLAY environment variable to
1240 localhost. This prevents remote hosts from connecting to the
1241 proxy display. However, some older X11 clients may not function
1242 with this configuration. X11UseLocalhost may be set to no to
1243 specify that the forwarding server should be bound to the wild‐
1244 card address. The argument must be yes or no. The default is
1245 yes.
1246
1247 XAuthLocation
1248 Specifies the full pathname of the xauth(1) program, or none to
1249 not use one. The default is /usr/bin/xauth.
1250
1252 sshd(8) command-line arguments and configuration file options that spec‐
1253 ify time may be expressed using a sequence of the form: time[qualifier],
1254 where time is a positive integer value and qualifier is one of the fol‐
1255 lowing:
1256
1257 ⟨none⟩ seconds
1258 s | S seconds
1259 m | M minutes
1260 h | H hours
1261 d | D days
1262 w | W weeks
1263
1264 Each member of the sequence is added together to calculate the total time
1265 value.
1266
1267 Time format examples:
1268
1269 600 600 seconds (10 minutes)
1270 10m 10 minutes
1271 1h30m 1 hour 30 minutes (90 minutes)
1272
1274 Arguments to some keywords can make use of tokens, which are expanded at
1275 runtime:
1276
1277 %% A literal ‘%’.
1278 %D The routing domain in which the incoming connection was re‐
1279 ceived.
1280 %F The fingerprint of the CA key.
1281 %f The fingerprint of the key or certificate.
1282 %h The home directory of the user.
1283 %i The key ID in the certificate.
1284 %K The base64-encoded CA key.
1285 %k The base64-encoded key or certificate for authentication.
1286 %s The serial number of the certificate.
1287 %T The type of the CA key.
1288 %t The key or certificate type.
1289 %U The numeric user ID of the target user.
1290 %u The username.
1291
1292 AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1293
1294 AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1295
1296 AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1297 %k, %s, %T, %t, %U, and %u.
1298
1299 AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1300
1301 ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1302
1303 RoutingDomain accepts the token %D.
1304
1306 /etc/gsissh/sshd_config
1307 Contains configuration data for sshd(8). This file should be
1308 writable by root only, but it is recommended (though not neces‐
1309 sary) that it be world-readable.
1310
1312 sftp-server(8), sshd(8), crypto-policies(7), update-crypto-policies(8)
1313
1315 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1316 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1317 de Raadt and Dug Song removed many bugs, re-added newer features and cre‐
1318 ated OpenSSH. Markus Friedl contributed the support for SSH protocol
1319 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1320 for privilege separation.
1321
1322BSD March 3, 2023 BSD