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