Remove out-of-date comment relating to gcc2.
[dragonfly.git] / crypto / openssh-4 / sshd_config.5
1 .\"  -*- nroff -*-
2 .\"
3 .\" Author: Tatu Ylonen <ylo@cs.hut.fi>
4 .\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5 .\"                    All rights reserved
6 .\"
7 .\" As far as I am concerned, the code I have written for this software
8 .\" can be used freely for any purpose.  Any derived versions of this
9 .\" software must be clearly marked as such, and if the derived work is
10 .\" incompatible with the protocol description in the RFC file, it must be
11 .\" called by a name other than "ssh" or "Secure Shell".
12 .\"
13 .\" Copyright (c) 1999,2000 Markus Friedl.  All rights reserved.
14 .\" Copyright (c) 1999 Aaron Campbell.  All rights reserved.
15 .\" Copyright (c) 1999 Theo de Raadt.  All rights reserved.
16 .\"
17 .\" Redistribution and use in source and binary forms, with or without
18 .\" modification, are permitted provided that the following conditions
19 .\" are met:
20 .\" 1. Redistributions of source code must retain the above copyright
21 .\"    notice, this list of conditions and the following disclaimer.
22 .\" 2. Redistributions in binary form must reproduce the above copyright
23 .\"    notice, this list of conditions and the following disclaimer in the
24 .\"    documentation and/or other materials provided with the distribution.
25 .\"
26 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
27 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
28 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
29 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
30 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
31 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 .\"
37 .\" $OpenBSD: sshd_config.5,v 1.48 2006/01/02 17:09:49 jmc Exp $
38 .Dd September 25, 1999
39 .Dt SSHD_CONFIG 5
40 .Os
41 .Sh NAME
42 .Nm sshd_config
43 .Nd OpenSSH SSH daemon configuration file
44 .Sh SYNOPSIS
45 .Bl -tag -width Ds -compact
46 .It Pa /etc/ssh/sshd_config
47 .El
48 .Sh DESCRIPTION
49 .Nm sshd
50 reads configuration data from
51 .Pa /etc/ssh/sshd_config
52 (or the file specified with
53 .Fl f
54 on the command line).
55 The file contains keyword-argument pairs, one per line.
56 Lines starting with
57 .Ql #
58 and empty lines are interpreted as comments.
59 .Pp
60 The possible
61 keywords and their meanings are as follows (note that
62 keywords are case-insensitive and arguments are case-sensitive):
63 .Bl -tag -width Ds
64 .It Cm AcceptEnv
65 Specifies what environment variables sent by the client will be copied into
66 the session's
67 .Xr environ 7 .
68 See
69 .Cm SendEnv
70 in
71 .Xr ssh_config 5
72 for how to configure the client.
73 Note that environment passing is only supported for protocol 2.
74 Variables are specified by name, which may contain the wildcard characters
75 .Ql \&*
76 and
77 .Ql \&? .
78 Multiple environment variables may be separated by whitespace or spread
79 across multiple
80 .Cm AcceptEnv
81 directives.
82 Be warned that some environment variables could be used to bypass restricted
83 user environments.
84 For this reason, care should be taken in the use of this directive.
85 The default is not to accept any environment variables.
86 .It Cm AddressFamily
87 Specifies which address family should be used by
88 .Nm sshd .
89 Valid arguments are
90 .Dq any ,
91 .Dq inet
92 (use IPv4 only) or
93 .Dq inet6
94 (use IPv6 only).
95 The default is
96 .Dq any .
97 .It Cm AllowGroups
98 This keyword can be followed by a list of group name patterns, separated
99 by spaces.
100 If specified, login is allowed only for users whose primary
101 group or supplementary group list matches one of the patterns.
102 .Ql \&*
103 and
104 .Ql \&?
105 can be used as
106 wildcards in the patterns.
107 Only group names are valid; a numerical group ID is not recognized.
108 By default, login is allowed for all groups.
109 .It Cm AllowTcpForwarding
110 Specifies whether TCP forwarding is permitted.
111 The default is
112 .Dq yes .
113 Note that disabling TCP forwarding does not improve security unless
114 users are also denied shell access, as they can always install their
115 own forwarders.
116 .It Cm AllowUsers
117 This keyword can be followed by a list of user name patterns, separated
118 by spaces.
119 If specified, login is allowed only for user names that
120 match one of the patterns.
121 .Ql \&*
122 and
123 .Ql \&?
124 can be used as
125 wildcards in the patterns.
126 Only user names are valid; a numerical user ID is not recognized.
127 By default, login is allowed for all users.
128 If the pattern takes the form USER@HOST then USER and HOST
129 are separately checked, restricting logins to particular
130 users from particular hosts.
131 .It Cm AuthorizedKeysFile
132 Specifies the file that contains the public keys that can be used
133 for user authentication.
134 .Cm AuthorizedKeysFile
135 may contain tokens of the form %T which are substituted during connection
136 set-up.
137 The following tokens are defined: %% is replaced by a literal '%',
138 %h is replaced by the home directory of the user being authenticated and
139 %u is replaced by the username of that user.
140 After expansion,
141 .Cm AuthorizedKeysFile
142 is taken to be an absolute path or one relative to the user's home
143 directory.
144 The default is
145 .Dq .ssh/authorized_keys .
146 .It Cm Banner
147 In some jurisdictions, sending a warning message before authentication
148 may be relevant for getting legal protection.
149 The contents of the specified file are sent to the remote user before
150 authentication is allowed.
151 This option is only available for protocol version 2.
152 By default, no banner is displayed.
153 .It Cm ChallengeResponseAuthentication
154 Specifies whether challenge response authentication is allowed.
155 All authentication styles from
156 .Xr login.conf 5
157 are supported.
158 The default is
159 .Dq yes .
160 .It Cm Ciphers
161 Specifies the ciphers allowed for protocol version 2.
162 Multiple ciphers must be comma-separated.
163 The supported ciphers are
164 .Dq 3des-cbc ,
165 .Dq aes128-cbc ,
166 .Dq aes192-cbc ,
167 .Dq aes256-cbc ,
168 .Dq aes128-ctr ,
169 .Dq aes192-ctr ,
170 .Dq aes256-ctr ,
171 .Dq arcfour128 ,
172 .Dq arcfour256 ,
173 .Dq arcfour ,
174 .Dq blowfish-cbc ,
175 and
176 .Dq cast128-cbc .
177 The default is
178 .Bd -literal
179   ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,
180     arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr,
181     aes192-ctr,aes256-ctr''
182 .Ed
183 .It Cm ClientAliveCountMax
184 Sets the number of client alive messages (see below) which may be
185 sent without
186 .Nm sshd
187 receiving any messages back from the client.
188 If this threshold is reached while client alive messages are being sent,
189 .Nm sshd
190 will disconnect the client, terminating the session.
191 It is important to note that the use of client alive messages is very
192 different from
193 .Cm TCPKeepAlive
194 (below).
195 The client alive messages are sent through the encrypted channel
196 and therefore will not be spoofable.
197 The TCP keepalive option enabled by
198 .Cm TCPKeepAlive
199 is spoofable.
200 The client alive mechanism is valuable when the client or
201 server depend on knowing when a connection has become inactive.
202 .Pp
203 The default value is 3.
204 If
205 .Cm ClientAliveInterval
206 (see below) is set to 15, and
207 .Cm ClientAliveCountMax
208 is left at the default, unresponsive ssh clients
209 will be disconnected after approximately 45 seconds.
210 .It Cm ClientAliveInterval
211 Sets a timeout interval in seconds after which if no data has been received
212 from the client,
213 .Nm sshd
214 will send a message through the encrypted
215 channel to request a response from the client.
216 The default
217 is 0, indicating that these messages will not be sent to the client.
218 This option applies to protocol version 2 only.
219 .It Cm Compression
220 Specifies whether compression is allowed, or delayed until
221 the user has authenticated successfully.
222 The argument must be
223 .Dq yes ,
224 .Dq delayed ,
225 or
226 .Dq no .
227 The default is
228 .Dq delayed .
229 .It Cm DenyGroups
230 This keyword can be followed by a list of group name patterns, separated
231 by spaces.
232 Login is disallowed for users whose primary group or supplementary
233 group list matches one of the patterns.
234 .Ql \&*
235 and
236 .Ql \&?
237 can be used as
238 wildcards in the patterns.
239 Only group names are valid; a numerical group ID is not recognized.
240 By default, login is allowed for all groups.
241 .It Cm DenyUsers
242 This keyword can be followed by a list of user name patterns, separated
243 by spaces.
244 Login is disallowed for user names that match one of the patterns.
245 .Ql \&*
246 and
247 .Ql \&?
248 can be used as wildcards in the patterns.
249 Only user names are valid; a numerical user ID is not recognized.
250 By default, login is allowed for all users.
251 If the pattern takes the form USER@HOST then USER and HOST
252 are separately checked, restricting logins to particular
253 users from particular hosts.
254 .It Cm GatewayPorts
255 Specifies whether remote hosts are allowed to connect to ports
256 forwarded for the client.
257 By default,
258 .Nm sshd
259 binds remote port forwardings to the loopback address.
260 This prevents other remote hosts from connecting to forwarded ports.
261 .Cm GatewayPorts
262 can be used to specify that
263 .Nm sshd
264 should allow remote port forwardings to bind to non-loopback addresses, thus
265 allowing other hosts to connect.
266 The argument may be
267 .Dq no
268 to force remote port forwardings to be available to the local host only,
269 .Dq yes
270 to force remote port forwardings to bind to the wildcard address, or
271 .Dq clientspecified
272 to allow the client to select the address to which the forwarding is bound.
273 The default is
274 .Dq no .
275 .It Cm GSSAPIAuthentication
276 Specifies whether user authentication based on GSSAPI is allowed.
277 The default is
278 .Dq no .
279 Note that this option applies to protocol version 2 only.
280 .It Cm GSSAPICleanupCredentials
281 Specifies whether to automatically destroy the user's credentials cache
282 on logout.
283 The default is
284 .Dq yes .
285 Note that this option applies to protocol version 2 only.
286 .It Cm HostbasedAuthentication
287 Specifies whether rhosts or /etc/hosts.equiv authentication together
288 with successful public key client host authentication is allowed
289 (hostbased authentication).
290 This option is similar to
291 .Cm RhostsRSAAuthentication
292 and applies to protocol version 2 only.
293 The default is
294 .Dq no .
295 .It Cm HostKey
296 Specifies a file containing a private host key
297 used by SSH.
298 The default is
299 .Pa /etc/ssh/ssh_host_key
300 for protocol version 1, and
301 .Pa /etc/ssh/ssh_host_rsa_key
302 and
303 .Pa /etc/ssh/ssh_host_dsa_key
304 for protocol version 2.
305 Note that
306 .Nm sshd
307 will refuse to use a file if it is group/world-accessible.
308 It is possible to have multiple host key files.
309 .Dq rsa1
310 keys are used for version 1 and
311 .Dq dsa
312 or
313 .Dq rsa
314 are used for version 2 of the SSH protocol.
315 .It Cm IgnoreRhosts
316 Specifies that
317 .Pa .rhosts
318 and
319 .Pa .shosts
320 files will not be used in
321 .Cm RhostsRSAAuthentication
322 or
323 .Cm HostbasedAuthentication .
324 .Pp
325 .Pa /etc/hosts.equiv
326 and
327 .Pa /etc/shosts.equiv
328 are still used.
329 The default is
330 .Dq yes .
331 .It Cm IgnoreUserKnownHosts
332 Specifies whether
333 .Nm sshd
334 should ignore the user's
335 .Pa ~/.ssh/known_hosts
336 during
337 .Cm RhostsRSAAuthentication
338 or
339 .Cm HostbasedAuthentication .
340 The default is
341 .Dq no .
342 .It Cm KerberosAuthentication
343 Specifies whether the password provided by the user for
344 .Cm PasswordAuthentication
345 will be validated through the Kerberos KDC.
346 To use this option, the server needs a
347 Kerberos servtab which allows the verification of the KDC's identity.
348 Default is
349 .Dq no .
350 .It Cm KerberosGetAFSToken
351 If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire
352 an AFS token before accessing the user's home directory.
353 Default is
354 .Dq no .
355 .It Cm KerberosOrLocalPasswd
356 If set then if password authentication through Kerberos fails then
357 the password will be validated via any additional local mechanism
358 such as
359 .Pa /etc/passwd .
360 Default is
361 .Dq yes .
362 .It Cm KerberosTicketCleanup
363 Specifies whether to automatically destroy the user's ticket cache
364 file on logout.
365 Default is
366 .Dq yes .
367 .It Cm KeyRegenerationInterval
368 In protocol version 1, the ephemeral server key is automatically regenerated
369 after this many seconds (if it has been used).
370 The purpose of regeneration is to prevent
371 decrypting captured sessions by later breaking into the machine and
372 stealing the keys.
373 The key is never stored anywhere.
374 If the value is 0, the key is never regenerated.
375 The default is 3600 (seconds).
376 .It Cm ListenAddress
377 Specifies the local addresses
378 .Nm sshd
379 should listen on.
380 The following forms may be used:
381 .Pp
382 .Bl -item -offset indent -compact
383 .It
384 .Cm ListenAddress
385 .Sm off
386 .Ar host No | Ar IPv4_addr No | Ar IPv6_addr
387 .Sm on
388 .It
389 .Cm ListenAddress
390 .Sm off
391 .Ar host No | Ar IPv4_addr No : Ar port
392 .Sm on
393 .It
394 .Cm ListenAddress
395 .Sm off
396 .Oo
397 .Ar host No | Ar IPv6_addr Oc : Ar port
398 .Sm on
399 .El
400 .Pp
401 If
402 .Ar port
403 is not specified,
404 .Nm sshd
405 will listen on the address and all prior
406 .Cm Port
407 options specified.
408 The default is to listen on all local addresses.
409 Multiple
410 .Cm ListenAddress
411 options are permitted.
412 Additionally, any
413 .Cm Port
414 options must precede this option for non port qualified addresses.
415 .It Cm LoginGraceTime
416 The server disconnects after this time if the user has not
417 successfully logged in.
418 If the value is 0, there is no time limit.
419 The default is 120 seconds.
420 .It Cm LogLevel
421 Gives the verbosity level that is used when logging messages from
422 .Nm sshd .
423 The possible values are:
424 QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.
425 The default is INFO.
426 DEBUG and DEBUG1 are equivalent.
427 DEBUG2 and DEBUG3 each specify higher levels of debugging output.
428 Logging with a DEBUG level violates the privacy of users and is not recommended.
429 .It Cm MACs
430 Specifies the available MAC (message authentication code) algorithms.
431 The MAC algorithm is used in protocol version 2
432 for data integrity protection.
433 Multiple algorithms must be comma-separated.
434 The default is
435 .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
436 .It Cm MaxAuthTries
437 Specifies the maximum number of authentication attempts permitted per
438 connection.
439 Once the number of failures reaches half this value,
440 additional failures are logged.
441 The default is 6.
442 .It Cm MaxStartups
443 Specifies the maximum number of concurrent unauthenticated connections to the
444 .Nm sshd
445 daemon.
446 Additional connections will be dropped until authentication succeeds or the
447 .Cm LoginGraceTime
448 expires for a connection.
449 The default is 10.
450 .Pp
451 Alternatively, random early drop can be enabled by specifying
452 the three colon separated values
453 .Dq start:rate:full
454 (e.g., "10:30:60").
455 .Nm sshd
456 will refuse connection attempts with a probability of
457 .Dq rate/100
458 (30%)
459 if there are currently
460 .Dq start
461 (10)
462 unauthenticated connections.
463 The probability increases linearly and all connection attempts
464 are refused if the number of unauthenticated connections reaches
465 .Dq full
466 (60).
467 .It Cm PasswordAuthentication
468 Specifies whether password authentication is allowed.
469 The default is
470 .Dq yes .
471 .It Cm PermitEmptyPasswords
472 When password authentication is allowed, it specifies whether the
473 server allows login to accounts with empty password strings.
474 The default is
475 .Dq no .
476 .It Cm PermitRootLogin
477 Specifies whether root can log in using
478 .Xr ssh 1 .
479 The argument must be
480 .Dq yes ,
481 .Dq without-password ,
482 .Dq forced-commands-only
483 or
484 .Dq no .
485 The default is
486 .Dq yes .
487 .Pp
488 If this option is set to
489 .Dq without-password
490 password authentication is disabled for root.
491 .Pp
492 If this option is set to
493 .Dq forced-commands-only
494 root login with public key authentication will be allowed,
495 but only if the
496 .Ar command
497 option has been specified
498 (which may be useful for taking remote backups even if root login is
499 normally not allowed).
500 All other authentication methods are disabled for root.
501 .Pp
502 If this option is set to
503 .Dq no
504 root is not allowed to log in.
505 .It Cm PermitTunnel
506 Specifies whether
507 .Xr tun 4
508 device forwarding is allowed.
509 The argument must be
510 .Dq yes ,
511 .Dq point-to-point ,
512 .Dq ethernet
513 or
514 .Dq no .
515 The default is
516 .Dq no .
517 .It Cm PermitUserEnvironment
518 Specifies whether
519 .Pa ~/.ssh/environment
520 and
521 .Cm environment=
522 options in
523 .Pa ~/.ssh/authorized_keys
524 are processed by
525 .Nm sshd .
526 The default is
527 .Dq no .
528 Enabling environment processing may enable users to bypass access
529 restrictions in some configurations using mechanisms such as
530 .Ev LD_PRELOAD .
531 .It Cm PidFile
532 Specifies the file that contains the process ID of the
533 .Nm sshd
534 daemon.
535 The default is
536 .Pa /var/run/sshd.pid .
537 .It Cm Port
538 Specifies the port number that
539 .Nm sshd
540 listens on.
541 The default is 22.
542 Multiple options of this type are permitted.
543 See also
544 .Cm ListenAddress .
545 .It Cm PrintLastLog
546 Specifies whether
547 .Nm sshd
548 should print the date and time of the last user login when a user logs
549 in interactively.
550 The default is
551 .Dq yes .
552 .It Cm PrintMotd
553 Specifies whether
554 .Nm sshd
555 should print
556 .Pa /etc/motd
557 when a user logs in interactively.
558 (On some systems it is also printed by the shell,
559 .Pa /etc/profile ,
560 or equivalent.)
561 The default is
562 .Dq yes .
563 .It Cm Protocol
564 Specifies the protocol versions
565 .Nm sshd
566 supports.
567 The possible values are
568 .Dq 1
569 and
570 .Dq 2 .
571 Multiple versions must be comma-separated.
572 The default is
573 .Dq 2,1 .
574 Note that the order of the protocol list does not indicate preference,
575 because the client selects among multiple protocol versions offered
576 by the server.
577 Specifying
578 .Dq 2,1
579 is identical to
580 .Dq 1,2 .
581 .It Cm PubkeyAuthentication
582 Specifies whether public key authentication is allowed.
583 The default is
584 .Dq yes .
585 Note that this option applies to protocol version 2 only.
586 .It Cm RhostsRSAAuthentication
587 Specifies whether rhosts or /etc/hosts.equiv authentication together
588 with successful RSA host authentication is allowed.
589 The default is
590 .Dq no .
591 This option applies to protocol version 1 only.
592 .It Cm RSAAuthentication
593 Specifies whether pure RSA authentication is allowed.
594 The default is
595 .Dq yes .
596 This option applies to protocol version 1 only.
597 .It Cm ServerKeyBits
598 Defines the number of bits in the ephemeral protocol version 1 server key.
599 The minimum value is 512, and the default is 768.
600 .It Cm StrictModes
601 Specifies whether
602 .Nm sshd
603 should check file modes and ownership of the
604 user's files and home directory before accepting login.
605 This is normally desirable because novices sometimes accidentally leave their
606 directory or files world-writable.
607 The default is
608 .Dq yes .
609 .It Cm Subsystem
610 Configures an external subsystem (e.g., file transfer daemon).
611 Arguments should be a subsystem name and a command to execute upon subsystem
612 request.
613 The command
614 .Xr sftp-server 8
615 implements the
616 .Dq sftp
617 file transfer subsystem.
618 By default no subsystems are defined.
619 Note that this option applies to protocol version 2 only.
620 .It Cm SyslogFacility
621 Gives the facility code that is used when logging messages from
622 .Nm sshd .
623 The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
624 LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
625 The default is AUTH.
626 .It Cm TCPKeepAlive
627 Specifies whether the system should send TCP keepalive messages to the
628 other side.
629 If they are sent, death of the connection or crash of one
630 of the machines will be properly noticed.
631 However, this means that
632 connections will die if the route is down temporarily, and some people
633 find it annoying.
634 On the other hand, if TCP keepalives are not sent,
635 sessions may hang indefinitely on the server, leaving
636 .Dq ghost
637 users and consuming server resources.
638 .Pp
639 The default is
640 .Dq yes
641 (to send TCP keepalive messages), and the server will notice
642 if the network goes down or the client host crashes.
643 This avoids infinitely hanging sessions.
644 .Pp
645 To disable TCP keepalive messages, the value should be set to
646 .Dq no .
647 .It Cm UseDNS
648 Specifies whether
649 .Nm sshd
650 should look up the remote host name and check that
651 the resolved host name for the remote IP address maps back to the
652 very same IP address.
653 The default is
654 .Dq yes .
655 .It Cm UseLogin
656 Specifies whether
657 .Xr login 1
658 is used for interactive login sessions.
659 The default is
660 .Dq no .
661 Note that
662 .Xr login 1
663 is never used for remote command execution.
664 Note also, that if this is enabled,
665 .Cm X11Forwarding
666 will be disabled because
667 .Xr login 1
668 does not know how to handle
669 .Xr xauth 1
670 cookies.
671 If
672 .Cm UsePrivilegeSeparation
673 is specified, it will be disabled after authentication.
674 .It Cm UsePAM
675 Enables the Pluggable Authentication Module interface.
676 If set to
677 .Dq yes
678 this will enable PAM authentication using
679 .Cm ChallengeResponseAuthentication
680 and PAM account and session module processing for all authentication types.
681 .Pp
682 Because PAM challenge-response authentication usually serves an equivalent
683 role to password authentication, you should disable either
684 .Cm PasswordAuthentication
685 or
686 .Cm ChallengeResponseAuthentication.
687 .Pp
688 If
689 .Cm UsePAM
690 is enabled, you will not be able to run
691 .Xr sshd 8
692 as a non-root user.
693 The default is
694 .Dq no .
695 .It Cm UsePrivilegeSeparation
696 Specifies whether
697 .Nm sshd
698 separates privileges by creating an unprivileged child process
699 to deal with incoming network traffic.
700 After successful authentication, another process will be created that has
701 the privilege of the authenticated user.
702 The goal of privilege separation is to prevent privilege
703 escalation by containing any corruption within the unprivileged processes.
704 The default is
705 .Dq yes .
706 .It Cm X11DisplayOffset
707 Specifies the first display number available for
708 .Nm sshd Ns 's
709 X11 forwarding.
710 This prevents
711 .Nm sshd
712 from interfering with real X11 servers.
713 The default is 10.
714 .It Cm X11Forwarding
715 Specifies whether X11 forwarding is permitted.
716 The argument must be
717 .Dq yes
718 or
719 .Dq no .
720 The default is
721 .Dq no .
722 .Pp
723 When X11 forwarding is enabled, there may be additional exposure to
724 the server and to client displays if the
725 .Nm sshd
726 proxy display is configured to listen on the wildcard address (see
727 .Cm X11UseLocalhost
728 below), however this is not the default.
729 Additionally, the authentication spoofing and authentication data
730 verification and substitution occur on the client side.
731 The security risk of using X11 forwarding is that the client's X11
732 display server may be exposed to attack when the ssh client requests
733 forwarding (see the warnings for
734 .Cm ForwardX11
735 in
736 .Xr ssh_config 5 ) .
737 A system administrator may have a stance in which they want to
738 protect clients that may expose themselves to attack by unwittingly
739 requesting X11 forwarding, which can warrant a
740 .Dq no
741 setting.
742 .Pp
743 Note that disabling X11 forwarding does not prevent users from
744 forwarding X11 traffic, as users can always install their own forwarders.
745 X11 forwarding is automatically disabled if
746 .Cm UseLogin
747 is enabled.
748 .It Cm X11UseLocalhost
749 Specifies whether
750 .Nm sshd
751 should bind the X11 forwarding server to the loopback address or to
752 the wildcard address.
753 By default,
754 .Nm sshd
755 binds the forwarding server to the loopback address and sets the
756 hostname part of the
757 .Ev DISPLAY
758 environment variable to
759 .Dq localhost .
760 This prevents remote hosts from connecting to the proxy display.
761 However, some older X11 clients may not function with this
762 configuration.
763 .Cm X11UseLocalhost
764 may be set to
765 .Dq no
766 to specify that the forwarding server should be bound to the wildcard
767 address.
768 The argument must be
769 .Dq yes
770 or
771 .Dq no .
772 The default is
773 .Dq yes .
774 .It Cm XAuthLocation
775 Specifies the full pathname of the
776 .Xr xauth 1
777 program.
778 The default is
779 .Pa /usr/X11R6/bin/xauth .
780 .El
781 .Ss Time Formats
782 .Nm sshd
783 command-line arguments and configuration file options that specify time
784 may be expressed using a sequence of the form:
785 .Sm off
786 .Ar time Op Ar qualifier ,
787 .Sm on
788 where
789 .Ar time
790 is a positive integer value and
791 .Ar qualifier
792 is one of the following:
793 .Pp
794 .Bl -tag -width Ds -compact -offset indent
795 .It Cm <none>
796 seconds
797 .It Cm s | Cm S
798 seconds
799 .It Cm m | Cm M
800 minutes
801 .It Cm h | Cm H
802 hours
803 .It Cm d | Cm D
804 days
805 .It Cm w | Cm W
806 weeks
807 .El
808 .Pp
809 Each member of the sequence is added together to calculate
810 the total time value.
811 .Pp
812 Time format examples:
813 .Pp
814 .Bl -tag -width Ds -compact -offset indent
815 .It 600
816 600 seconds (10 minutes)
817 .It 10m
818 10 minutes
819 .It 1h30m
820 1 hour 30 minutes (90 minutes)
821 .El
822 .Sh FILES
823 .Bl -tag -width Ds
824 .It Pa /etc/ssh/sshd_config
825 Contains configuration data for
826 .Nm sshd .
827 This file should be writable by root only, but it is recommended
828 (though not necessary) that it be world-readable.
829 .El
830 .Sh SEE ALSO
831 .Xr sshd 8
832 .Sh AUTHORS
833 OpenSSH is a derivative of the original and free
834 ssh 1.2.12 release by Tatu Ylonen.
835 Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
836 Theo de Raadt and Dug Song
837 removed many bugs, re-added newer features and
838 created OpenSSH.
839 Markus Friedl contributed the support for SSH
840 protocol versions 1.5 and 2.0.
841 Niels Provos and Markus Friedl contributed support
842 for privilege separation.