]> andersk Git - gssapi-openssh.git/blob - openssh/sshd_config.5
The man2html from jbasney on pkilab2 works whereas the standard one doesn't.
[gssapi-openssh.git] / 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.106 2009/04/21 15:13:17 stevesk Exp $
38 .Dd $Mdocdate: April 21 2009 $
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 .Nm /etc/ssh/sshd_config
46 .Sh DESCRIPTION
47 .Xr sshd 8
48 reads configuration data from
49 .Pa /etc/ssh/sshd_config
50 (or the file specified with
51 .Fl f
52 on the command line).
53 The file contains keyword-argument pairs, one per line.
54 Lines starting with
55 .Ql #
56 and empty lines are interpreted as comments.
57 Arguments may optionally be enclosed in double quotes
58 .Pq \&"
59 in order to represent arguments containing spaces.
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 .Xr sshd 8 .
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 AllowAgentForwarding
99 Specifies whether
100 .Xr ssh-agent 1
101 forwarding is permitted.
102 The default is
103 .Dq yes .
104 Note that disabling agent forwarding does not improve security
105 unless users are also denied shell access, as they can always install
106 their own forwarders.
107 .It Cm AllowGroups
108 This keyword can be followed by a list of group name patterns, separated
109 by spaces.
110 If specified, login is allowed only for users whose primary
111 group or supplementary group list matches one of the patterns.
112 Only group names are valid; a numerical group ID is not recognized.
113 By default, login is allowed for all groups.
114 The allow/deny directives are processed in the following order:
115 .Cm DenyUsers ,
116 .Cm AllowUsers ,
117 .Cm DenyGroups ,
118 and finally
119 .Cm AllowGroups .
120 .Pp
121 See
122 .Sx PATTERNS
123 in
124 .Xr ssh_config 5
125 for more information on patterns.
126 .It Cm AllowTcpForwarding
127 Specifies whether TCP forwarding is permitted.
128 The default is
129 .Dq yes .
130 Note that disabling TCP forwarding does not improve security unless
131 users are also denied shell access, as they can always install their
132 own forwarders.
133 .It Cm AllowUsers
134 This keyword can be followed by a list of user name patterns, separated
135 by spaces.
136 If specified, login is allowed only for user names that
137 match one of the patterns.
138 Only user names are valid; a numerical user ID is not recognized.
139 By default, login is allowed for all users.
140 If the pattern takes the form USER@HOST then USER and HOST
141 are separately checked, restricting logins to particular
142 users from particular hosts.
143 The allow/deny directives are processed in the following order:
144 .Cm DenyUsers ,
145 .Cm AllowUsers ,
146 .Cm DenyGroups ,
147 and finally
148 .Cm AllowGroups .
149 .Pp
150 See
151 .Sx PATTERNS
152 in
153 .Xr ssh_config 5
154 for more information on patterns.
155 .It Cm AuthorizedKeysFile
156 Specifies the file that contains the public keys that can be used
157 for user authentication.
158 .Cm AuthorizedKeysFile
159 may contain tokens of the form %T which are substituted during connection
160 setup.
161 The following tokens are defined: %% is replaced by a literal '%',
162 %h is replaced by the home directory of the user being authenticated, and
163 %u is replaced by the username of that user.
164 After expansion,
165 .Cm AuthorizedKeysFile
166 is taken to be an absolute path or one relative to the user's home
167 directory.
168 The default is
169 .Dq .ssh/authorized_keys .
170 .It Cm Banner
171 The contents of the specified file are sent to the remote user before
172 authentication is allowed.
173 If the argument is
174 .Dq none
175 then no banner is displayed.
176 This option is only available for protocol version 2.
177 By default, no banner is displayed.
178 .It Cm ChallengeResponseAuthentication
179 Specifies whether challenge-response authentication is allowed (e.g. via
180 PAM or though authentication styles supported in
181 .Xr login.conf 5 )
182 The default is
183 .Dq yes .
184 .It Cm ChrootDirectory
185 Specifies a path to
186 .Xr chroot 2
187 to after authentication.
188 This path, and all its components, must be root-owned directories that are
189 not writable by any other user or group.
190 After the chroot,
191 .Xr sshd 8
192 changes the working directory to the user's home directory.
193 .Pp
194 The path may contain the following tokens that are expanded at runtime once
195 the connecting user has been authenticated: %% is replaced by a literal '%',
196 %h is replaced by the home directory of the user being authenticated, and
197 %u is replaced by the username of that user.
198 .Pp
199 The
200 .Cm ChrootDirectory
201 must contain the necessary files and directories to support the
202 user's session.
203 For an interactive session this requires at least a shell, typically
204 .Xr sh 1 ,
205 and basic
206 .Pa /dev
207 nodes such as
208 .Xr null 4 ,
209 .Xr zero 4 ,
210 .Xr stdin 4 ,
211 .Xr stdout 4 ,
212 .Xr stderr 4 ,
213 .Xr arandom 4
214 and
215 .Xr tty 4
216 devices.
217 For file transfer sessions using
218 .Dq sftp ,
219 no additional configuration of the environment is necessary if the
220 in-process sftp server is used,
221 though sessions which use logging do require
222 .Pa /dev/log
223 inside the chroot directory (see
224 .Xr sftp-server 8
225 for details).
226 .Pp
227 The default is not to
228 .Xr chroot 2 .
229 .It Cm Ciphers
230 Specifies the ciphers allowed for protocol version 2.
231 Multiple ciphers must be comma-separated.
232 The supported ciphers are
233 .Dq 3des-cbc ,
234 .Dq aes128-cbc ,
235 .Dq aes192-cbc ,
236 .Dq aes256-cbc ,
237 .Dq aes128-ctr ,
238 .Dq aes192-ctr ,
239 .Dq aes256-ctr ,
240 .Dq arcfour128 ,
241 .Dq arcfour256 ,
242 .Dq arcfour ,
243 .Dq blowfish-cbc ,
244 and
245 .Dq cast128-cbc .
246 The default is:
247 .Bd -literal -offset 3n
248 aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
249 aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
250 aes256-cbc,arcfour
251 .Ed
252 .It Cm ClientAliveCountMax
253 Sets the number of client alive messages (see below) which may be
254 sent without
255 .Xr sshd 8
256 receiving any messages back from the client.
257 If this threshold is reached while client alive messages are being sent,
258 sshd will disconnect the client, terminating the session.
259 It is important to note that the use of client alive messages is very
260 different from
261 .Cm TCPKeepAlive
262 (below).
263 The client alive messages are sent through the encrypted channel
264 and therefore will not be spoofable.
265 The TCP keepalive option enabled by
266 .Cm TCPKeepAlive
267 is spoofable.
268 The client alive mechanism is valuable when the client or
269 server depend on knowing when a connection has become inactive.
270 .Pp
271 The default value is 3.
272 If
273 .Cm ClientAliveInterval
274 (see below) is set to 15, and
275 .Cm ClientAliveCountMax
276 is left at the default, unresponsive SSH clients
277 will be disconnected after approximately 45 seconds.
278 This option applies to protocol version 2 only.
279 .It Cm ClientAliveInterval
280 Sets a timeout interval in seconds after which if no data has been received
281 from the client,
282 .Xr sshd 8
283 will send a message through the encrypted
284 channel to request a response from the client.
285 The default
286 is 0, indicating that these messages will not be sent to the client.
287 This option applies to protocol version 2 only.
288 .It Cm Compression
289 Specifies whether compression is allowed, or delayed until
290 the user has authenticated successfully.
291 The argument must be
292 .Dq yes ,
293 .Dq delayed ,
294 or
295 .Dq no .
296 The default is
297 .Dq delayed .
298 .It Cm DenyGroups
299 This keyword can be followed by a list of group name patterns, separated
300 by spaces.
301 Login is disallowed for users whose primary group or supplementary
302 group list matches one of the patterns.
303 Only group names are valid; a numerical group ID is not recognized.
304 By default, login is allowed for all groups.
305 The allow/deny directives are processed in the following order:
306 .Cm DenyUsers ,
307 .Cm AllowUsers ,
308 .Cm DenyGroups ,
309 and finally
310 .Cm AllowGroups .
311 .Pp
312 See
313 .Sx PATTERNS
314 in
315 .Xr ssh_config 5
316 for more information on patterns.
317 .It Cm DenyUsers
318 This keyword can be followed by a list of user name patterns, separated
319 by spaces.
320 Login is disallowed for user names that match one of the patterns.
321 Only user names are valid; a numerical user ID is not recognized.
322 By default, login is allowed for all users.
323 If the pattern takes the form USER@HOST then USER and HOST
324 are separately checked, restricting logins to particular
325 users from particular hosts.
326 The allow/deny directives are processed in the following order:
327 .Cm DenyUsers ,
328 .Cm AllowUsers ,
329 .Cm DenyGroups ,
330 and finally
331 .Cm AllowGroups .
332 .Pp
333 See
334 .Sx PATTERNS
335 in
336 .Xr ssh_config 5
337 for more information on patterns.
338 .It Cm DisableUsageStats
339 This keyword can be followed by one of the keywords "true", "enabled", "yes",
340 "on" or "1" to disable reporting of usage metrics. Or it can be set to "false",
341 "disabled", "no", "off", "0" to enable reporting of usage metrics, which is the
342 default. Setting the
343 .Cm GLOBUS_USAGE_OPTOUT
344 environment variable to "1" will also disable the reporting of usage metrics.
345 Disabling reporting of usage metrics will cause the
346 .Cm UsageStatsTargets
347 setting to be ignored.
348 .It Cm ForceCommand
349 Forces the execution of the command specified by
350 .Cm ForceCommand ,
351 ignoring any command supplied by the client and
352 .Pa ~/.ssh/rc
353 if present.
354 The command is invoked by using the user's login shell with the -c option.
355 This applies to shell, command, or subsystem execution.
356 It is most useful inside a
357 .Cm Match
358 block.
359 The command originally supplied by the client is available in the
360 .Ev SSH_ORIGINAL_COMMAND
361 environment variable.
362 Specifying a command of
363 .Dq internal-sftp
364 will force the use of an in-process sftp server that requires no support
365 files when used with
366 .Cm ChrootDirectory .
367 .It Cm GatewayPorts
368 Specifies whether remote hosts are allowed to connect to ports
369 forwarded for the client.
370 By default,
371 .Xr sshd 8
372 binds remote port forwardings to the loopback address.
373 This prevents other remote hosts from connecting to forwarded ports.
374 .Cm GatewayPorts
375 can be used to specify that sshd
376 should allow remote port forwardings to bind to non-loopback addresses, thus
377 allowing other hosts to connect.
378 The argument may be
379 .Dq no
380 to force remote port forwardings to be available to the local host only,
381 .Dq yes
382 to force remote port forwardings to bind to the wildcard address, or
383 .Dq clientspecified
384 to allow the client to select the address to which the forwarding is bound.
385 The default is
386 .Dq no .
387 .It Cm GSSAPIAuthentication
388 Specifies whether user authentication based on GSSAPI is allowed.
389 The default is
390 .Dq yes .
391 Note that this option applies to protocol version 2 only.
392 .It Cm GSSAPIDelegateCredentials
393 Specifies whether delegated credentials are stored in the user's environment.
394 The default is
395 .Dq yes .
396 .It Cm GSSAPIKeyExchange
397 Specifies whether key exchange based on GSSAPI is allowed. GSSAPI key exchange 
398 doesn't rely on ssh keys to verify host identity.
399 The default is
400 .Dq yes .
401 Note that this option applies to protocol version 2 only.
402 .It Cm GSSAPICleanupCredentials
403 Specifies whether to automatically destroy the user's credentials cache
404 on logout.
405 The default is
406 .Dq yes .
407 Note that this option applies to protocol version 2 only.
408 .It Cm GSSAPICredentialsPath
409 If specified, the delegated GSSAPI credential is stored in the
410 given path, overwriting any existing credentials.  
411 Paths can be specified with syntax similar to the AuthorizedKeysFile 
412 option (i.e., accepting %h and %u tokens).  
413 When using this option,
414 setting 'GssapiCleanupCredentials no' is recommended,
415 so logging out of one session
416 doesn't remove the credentials in use by another session of
417 the same user.
418 Currently only implemented for the GSI mechanism.
419 .It Cm GSIAllowLimitedProxy
420 Specifies whether to accept limited proxy credentials for
421 authentication.
422 The default is
423 .Dq no .
424 .It Cm GSSAPIStrictAcceptorCheck
425 Determines whether to be strict about the identity of the GSSAPI acceptor 
426 a client authenticates against. If
427 .Dq yes
428 then the client must authenticate against the
429 .Pa host
430 service on the current hostname. If 
431 .Dq no
432 then the client may authenticate against any service key stored in the 
433 machine's default store. This facility is provided to assist with operation 
434 on multi homed machines. 
435 The default is
436 .Dq yes .
437 Note that this option applies only to protocol version 2 GSSAPI connections,
438 and setting it to 
439 .Dq no
440 may only work with recent Kerberos GSSAPI libraries.
441 .It Cm GSSAPIStoreCredentialsOnRekey
442 Controls whether the user's GSSAPI credentials should be updated following a 
443 successful connection rekeying. This option can be used to accepted renewed 
444 or updated credentials from a compatible client. The default is
445 .Dq no .
446 .It Cm HostbasedAuthentication
447 Specifies whether rhosts or /etc/hosts.equiv authentication together
448 with successful public key client host authentication is allowed
449 (host-based authentication).
450 This option is similar to
451 .Cm RhostsRSAAuthentication
452 and applies to protocol version 2 only.
453 The default is
454 .Dq no .
455 .It Cm HostbasedUsesNameFromPacketOnly
456 Specifies whether or not the server will attempt to perform a reverse
457 name lookup when matching the name in the
458 .Pa ~/.shosts ,
459 .Pa ~/.rhosts ,
460 and
461 .Pa /etc/hosts.equiv
462 files during
463 .Cm HostbasedAuthentication .
464 A setting of
465 .Dq yes
466 means that
467 .Xr sshd 8
468 uses the name supplied by the client rather than
469 attempting to resolve the name from the TCP connection itself.
470 The default is
471 .Dq no .
472 .It Cm HostKey
473 Specifies a file containing a private host key
474 used by SSH.
475 The default is
476 .Pa /etc/ssh/ssh_host_key
477 for protocol version 1, and
478 .Pa /etc/ssh/ssh_host_rsa_key
479 and
480 .Pa /etc/ssh/ssh_host_dsa_key
481 for protocol version 2.
482 Note that
483 .Xr sshd 8
484 will refuse to use a file if it is group/world-accessible.
485 It is possible to have multiple host key files.
486 .Dq rsa1
487 keys are used for version 1 and
488 .Dq dsa
489 or
490 .Dq rsa
491 are used for version 2 of the SSH protocol.
492 .It Cm IgnoreRhosts
493 Specifies that
494 .Pa .rhosts
495 and
496 .Pa .shosts
497 files will not be used in
498 .Cm RhostsRSAAuthentication
499 or
500 .Cm HostbasedAuthentication .
501 .Pp
502 .Pa /etc/hosts.equiv
503 and
504 .Pa /etc/shosts.equiv
505 are still used.
506 The default is
507 .Dq yes .
508 .It Cm IgnoreUserKnownHosts
509 Specifies whether
510 .Xr sshd 8
511 should ignore the user's
512 .Pa ~/.ssh/known_hosts
513 during
514 .Cm RhostsRSAAuthentication
515 or
516 .Cm HostbasedAuthentication .
517 The default is
518 .Dq no .
519 .It Cm KerberosAuthentication
520 Specifies whether the password provided by the user for
521 .Cm PasswordAuthentication
522 will be validated through the Kerberos KDC.
523 To use this option, the server needs a
524 Kerberos servtab which allows the verification of the KDC's identity.
525 The default is
526 .Dq no .
527 .It Cm KerberosGetAFSToken
528 If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire
529 an AFS token before accessing the user's home directory.
530 The default is
531 .Dq no .
532 .It Cm KerberosOrLocalPasswd
533 If password authentication through Kerberos fails then
534 the password will be validated via any additional local mechanism
535 such as
536 .Pa /etc/passwd .
537 The default is
538 .Dq yes .
539 .It Cm KerberosTicketCleanup
540 Specifies whether to automatically destroy the user's ticket cache
541 file on logout.
542 The default is
543 .Dq yes .
544 .It Cm KeyRegenerationInterval
545 In protocol version 1, the ephemeral server key is automatically regenerated
546 after this many seconds (if it has been used).
547 The purpose of regeneration is to prevent
548 decrypting captured sessions by later breaking into the machine and
549 stealing the keys.
550 The key is never stored anywhere.
551 If the value is 0, the key is never regenerated.
552 The default is 3600 (seconds).
553 .It Cm ListenAddress
554 Specifies the local addresses
555 .Xr sshd 8
556 should listen on.
557 The following forms may be used:
558 .Pp
559 .Bl -item -offset indent -compact
560 .It
561 .Cm ListenAddress
562 .Sm off
563 .Ar host No | Ar IPv4_addr No | Ar IPv6_addr
564 .Sm on
565 .It
566 .Cm ListenAddress
567 .Sm off
568 .Ar host No | Ar IPv4_addr No : Ar port
569 .Sm on
570 .It
571 .Cm ListenAddress
572 .Sm off
573 .Oo
574 .Ar host No | Ar IPv6_addr Oc : Ar port
575 .Sm on
576 .El
577 .Pp
578 If
579 .Ar port
580 is not specified,
581 sshd will listen on the address and all prior
582 .Cm Port
583 options specified.
584 The default is to listen on all local addresses.
585 Multiple
586 .Cm ListenAddress
587 options are permitted.
588 Additionally, any
589 .Cm Port
590 options must precede this option for non-port qualified addresses.
591 .It Cm LoginGraceTime
592 The server disconnects after this time if the user has not
593 successfully logged in.
594 If the value is 0, there is no time limit.
595 The default is 120 seconds.
596 .It Cm LogLevel
597 Gives the verbosity level that is used when logging messages from
598 .Xr sshd 8 .
599 The possible values are:
600 QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
601 The default is INFO.
602 DEBUG and DEBUG1 are equivalent.
603 DEBUG2 and DEBUG3 each specify higher levels of debugging output.
604 Logging with a DEBUG level violates the privacy of users and is not recommended.
605 .It Cm MACs
606 Specifies the available MAC (message authentication code) algorithms.
607 The MAC algorithm is used in protocol version 2
608 for data integrity protection.
609 Multiple algorithms must be comma-separated.
610 The default is:
611 .Bd -literal -offset indent
612 hmac-md5,hmac-sha1,umac-64@openssh.com,
613 hmac-ripemd160,hmac-sha1-96,hmac-md5-96
614 .Ed
615 .It Cm Match
616 Introduces a conditional block.
617 If all of the criteria on the
618 .Cm Match
619 line are satisfied, the keywords on the following lines override those
620 set in the global section of the config file, until either another
621 .Cm Match
622 line or the end of the file.
623 .Pp
624 The arguments to
625 .Cm Match
626 are one or more criteria-pattern pairs.
627 The available criteria are
628 .Cm User ,
629 .Cm Group ,
630 .Cm Host ,
631 and
632 .Cm Address .
633 The match patterns may consist of single entries or comma-separated
634 lists and may use the wildcard and negation operators described in the
635 .Sx PATTERNS
636 section of
637 .Xr ssh_config 5 .
638 .Pp
639 The patterns in an
640 .Cm Address
641 criteria may additionally contain addresses to match in CIDR
642 address/masklen format, e.g.\&
643 .Dq 192.0.2.0/24
644 or
645 .Dq 3ffe:ffff::/32 .
646 Note that the mask length provided must be consistent with the address -
647 it is an error to specify a mask length that is too long for the address
648 or one with bits set in this host portion of the address.
649 For example,
650 .Dq 192.0.2.0/33
651 and
652 .Dq 192.0.2.0/8
653 respectively.
654 .Pp
655 Only a subset of keywords may be used on the lines following a
656 .Cm Match
657 keyword.
658 Available keywords are
659 .Cm AllowAgentForwarding ,
660 .Cm AllowTcpForwarding ,
661 .Cm Banner ,
662 .Cm ChrootDirectory ,
663 .Cm ForceCommand ,
664 .Cm GatewayPorts ,
665 .Cm GSSAPIAuthentication ,
666 .Cm HostbasedAuthentication ,
667 .Cm KbdInteractiveAuthentication ,
668 .Cm KerberosAuthentication ,
669 .Cm MaxAuthTries ,
670 .Cm MaxSessions ,
671 .Cm PasswordAuthentication ,
672 .Cm PermitEmptyPasswords ,
673 .Cm PermitOpen ,
674 .Cm PermitRootLogin ,
675 .Cm RhostsRSAAuthentication ,
676 .Cm RSAAuthentication ,
677 .Cm X11DisplayOffset ,
678 .Cm X11Forwarding
679 and
680 .Cm X11UseLocalHost .
681 .It Cm MaxAuthTries
682 Specifies the maximum number of authentication attempts permitted per
683 connection.
684 Once the number of failures reaches half this value,
685 additional failures are logged.
686 The default is 6.
687 .It Cm MaxSessions
688 Specifies the maximum number of open sessions permitted per network connection.
689 The default is 10.
690 .It Cm MaxStartups
691 Specifies the maximum number of concurrent unauthenticated connections to the
692 SSH daemon.
693 Additional connections will be dropped until authentication succeeds or the
694 .Cm LoginGraceTime
695 expires for a connection.
696 The default is 10.
697 .Pp
698 Alternatively, random early drop can be enabled by specifying
699 the three colon separated values
700 .Dq start:rate:full
701 (e.g. "10:30:60").
702 .Xr sshd 8
703 will refuse connection attempts with a probability of
704 .Dq rate/100
705 (30%)
706 if there are currently
707 .Dq start
708 (10)
709 unauthenticated connections.
710 The probability increases linearly and all connection attempts
711 are refused if the number of unauthenticated connections reaches
712 .Dq full
713 (60).
714 .It Cm PasswordAuthentication
715 Specifies whether password authentication is allowed.
716 The default is
717 .Dq yes .
718 .It Cm PermitEmptyPasswords
719 When password authentication is allowed, it specifies whether the
720 server allows login to accounts with empty password strings.
721 The default is
722 .Dq no .
723 .It Cm PermitOpen
724 Specifies the destinations to which TCP port forwarding is permitted.
725 The forwarding specification must be one of the following forms:
726 .Pp
727 .Bl -item -offset indent -compact
728 .It
729 .Cm PermitOpen
730 .Sm off
731 .Ar host : port
732 .Sm on
733 .It
734 .Cm PermitOpen
735 .Sm off
736 .Ar IPv4_addr : port
737 .Sm on
738 .It
739 .Cm PermitOpen
740 .Sm off
741 .Ar \&[ IPv6_addr \&] : port
742 .Sm on
743 .El
744 .Pp
745 Multiple forwards may be specified by separating them with whitespace.
746 An argument of
747 .Dq any
748 can be used to remove all restrictions and permit any forwarding requests.
749 By default all port forwarding requests are permitted.
750 .It Cm PermitRootLogin
751 Specifies whether root can log in using
752 .Xr ssh 1 .
753 The argument must be
754 .Dq yes ,
755 .Dq without-password ,
756 .Dq forced-commands-only ,
757 or
758 .Dq no .
759 The default is
760 .Dq yes .
761 .Pp
762 If this option is set to
763 .Dq without-password ,
764 password authentication is disabled for root.
765 .Pp
766 If this option is set to
767 .Dq forced-commands-only ,
768 root login with public key authentication will be allowed,
769 but only if the
770 .Ar command
771 option has been specified
772 (which may be useful for taking remote backups even if root login is
773 normally not allowed).
774 All other authentication methods are disabled for root.
775 .Pp
776 If this option is set to
777 .Dq no ,
778 root is not allowed to log in.
779 .It Cm PermitTunnel
780 Specifies whether
781 .Xr tun 4
782 device forwarding is allowed.
783 The argument must be
784 .Dq yes ,
785 .Dq point-to-point
786 (layer 3),
787 .Dq ethernet
788 (layer 2), or
789 .Dq no .
790 Specifying
791 .Dq yes
792 permits both
793 .Dq point-to-point
794 and
795 .Dq ethernet .
796 The default is
797 .Dq no .
798 .It Cm PermitUserEnvironment
799 Specifies whether
800 .Pa ~/.ssh/environment
801 and
802 .Cm environment=
803 options in
804 .Pa ~/.ssh/authorized_keys
805 are processed by
806 .Xr sshd 8 .
807 The default is
808 .Dq no .
809 Enabling environment processing may enable users to bypass access
810 restrictions in some configurations using mechanisms such as
811 .Ev LD_PRELOAD .
812 .It Cm PidFile
813 Specifies the file that contains the process ID of the
814 SSH daemon.
815 The default is
816 .Pa /var/run/sshd.pid .
817 .It Cm Port
818 Specifies the port number that
819 .Xr sshd 8
820 listens on.
821 The default is 22.
822 Multiple options of this type are permitted.
823 See also
824 .Cm ListenAddress .
825 .It Cm PrintLastLog
826 Specifies whether
827 .Xr sshd 8
828 should print the date and time of the last user login when a user logs
829 in interactively.
830 The default is
831 .Dq yes .
832 .It Cm PrintMotd
833 Specifies whether
834 .Xr sshd 8
835 should print
836 .Pa /etc/motd
837 when a user logs in interactively.
838 (On some systems it is also printed by the shell,
839 .Pa /etc/profile ,
840 or equivalent.)
841 The default is
842 .Dq yes .
843 .It Cm Protocol
844 Specifies the protocol versions
845 .Xr sshd 8
846 supports.
847 The possible values are
848 .Sq 1
849 and
850 .Sq 2 .
851 Multiple versions must be comma-separated.
852 The default is
853 .Dq 2,1 .
854 Note that the order of the protocol list does not indicate preference,
855 because the client selects among multiple protocol versions offered
856 by the server.
857 Specifying
858 .Dq 2,1
859 is identical to
860 .Dq 1,2 .
861 .It Cm PubkeyAuthentication
862 Specifies whether public key authentication is allowed.
863 The default is
864 .Dq yes .
865 Note that this option applies to protocol version 2 only.
866 .It Cm RhostsRSAAuthentication
867 Specifies whether rhosts or /etc/hosts.equiv authentication together
868 with successful RSA host authentication is allowed.
869 The default is
870 .Dq no .
871 This option applies to protocol version 1 only.
872 .It Cm RSAAuthentication
873 Specifies whether pure RSA authentication is allowed.
874 The default is
875 .Dq yes .
876 This option applies to protocol version 1 only.
877 .It Cm ServerKeyBits
878 Defines the number of bits in the ephemeral protocol version 1 server key.
879 The minimum value is 512, and the default is 1024.
880 .It Cm StrictModes
881 Specifies whether
882 .Xr sshd 8
883 should check file modes and ownership of the
884 user's files and home directory before accepting login.
885 This is normally desirable because novices sometimes accidentally leave their
886 directory or files world-writable.
887 The default is
888 .Dq yes .
889 .It Cm Subsystem
890 Configures an external subsystem (e.g. file transfer daemon).
891 Arguments should be a subsystem name and a command (with optional arguments)
892 to execute upon subsystem request.
893 .Pp
894 The command
895 .Xr sftp-server 8
896 implements the
897 .Dq sftp
898 file transfer subsystem.
899 .Pp
900 Alternately the name
901 .Dq internal-sftp
902 implements an in-process
903 .Dq sftp
904 server.
905 This may simplify configurations using
906 .Cm ChrootDirectory
907 to force a different filesystem root on clients.
908 .Pp
909 By default no subsystems are defined.
910 Note that this option applies to protocol version 2 only.
911 .It Cm SyslogFacility
912 Gives the facility code that is used when logging messages from
913 .Xr sshd 8 .
914 The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
915 LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
916 The default is AUTH.
917 .It Cm TCPKeepAlive
918 Specifies whether the system should send TCP keepalive messages to the
919 other side.
920 If they are sent, death of the connection or crash of one
921 of the machines will be properly noticed.
922 However, this means that
923 connections will die if the route is down temporarily, and some people
924 find it annoying.
925 On the other hand, if TCP keepalives are not sent,
926 sessions may hang indefinitely on the server, leaving
927 .Dq ghost
928 users and consuming server resources.
929 .Pp
930 The default is
931 .Dq yes
932 (to send TCP keepalive messages), and the server will notice
933 if the network goes down or the client host crashes.
934 This avoids infinitely hanging sessions.
935 .Pp
936 To disable TCP keepalive messages, the value should be set to
937 .Dq no .
938 .It Cm UsageStatsTargets
939 This option can be used to specify the target collector hosts to which usage
940 metrics should be reported. This setting will be ignored if
941 .Cm DisableUsageStats
942 is enabled. Multiple targets can be specified separated by comma(s), but no
943 space(s). Each target specification is of the format
944 .Pa host:port[!tags].
945 Tags control what data elements are reported. The following list specifies
946 the tags for the corresponding data elements.
947 .Pp
948 .Bl -item -offset indent -compact
949 .It
950 .Cm V
951 .Sm off
952 - OpenSSH version, reported by default.
953 .Sm on
954 .It
955 .Cm v
956 .Sm off
957 - SSL version, reported by default.
958 .Sm on
959 .It
960 .Cm M
961 .Sm off
962 - User authentication method used such as "gssapi-keyex", "gssapi-with-mic", etc. Reported by default.
963 .Sm on
964 .It
965 .Cm m
966 .Sm off
967 - User authentication mechanism used such as "GSI", "Kerberos", etc. Reported by default.
968 .Sm on
969 .It
970 .Cm I
971 .Sm off
972 - Client IP address. Not reported by default.
973 .Sm on
974 .It
975 .Cm u
976 .Sm off
977 - User name. Not reported by default.
978 .Sm on
979 .It
980 .Cm U
981 .Sm off
982 - User DN. Not reported by default.
983 .Sm on
984 .Pp
985 In addition to the above selected information, the following data are
986 reported to ALL the specified/default target collectors. There's no way to
987 exclude these from being reported other than by disabling the reporting of
988 usage metrics altogether:
989 .Pp
990 .It
991 .Cm Component code
992 .Sm off
993 - 12 for GSI OpenSSH
994 .Sm on
995 .It
996 .Cm Component Data Format version
997 .Sm off
998 - 0 currently
999 .Sm on
1000 .It
1001 .Cm IP Address
1002 .Sm off
1003 - IP address of reporting server
1004 .Sm on
1005 .It
1006 .Cm Timestamp
1007 .It
1008 .Cm Hostname
1009 .Sm off
1010 - Host name of reporting server
1011 .Sm on
1012 .Pp
1013 If no tags are specified in a host spec, or the special string
1014 .Dq default
1015 is specified, the tags
1016 .Dq VvMm
1017 are assumed. A site could choose to allow a
1018 different set of data to be reported by specifying a different tag set. The
1019 last 3 tags
1020 .Dq I ,
1021 .Dq u
1022 and
1023 .Dq U
1024 above are more meant for a local collector that a
1025 site might like to deploy since they could be construed as private information.
1026 The special string
1027 .Dq all
1028 denotes all tags.
1029 .El
1030 .Pp
1031 By default, Usage Metrics reporting is sent to
1032 .Dq usage-stats.cilogon.org:4810 .
1033 This can be made explicit by specifying
1034 .Dq default
1035 (all by itself) for the
1036 target specification as in:
1037 .Pp
1038 .Bl -item -offset indent -compact
1039 .It
1040 .Cm UsageStatsTargets
1041 .Sm off
1042 default
1043 .Sm on
1044 .El
1045 .Pp
1046 If
1047 .Cm UsageStatsTargets
1048 is not specified, a comma-separated list of targets
1049 (without any tags specified) if specified in the environment variable
1050 .Cm GLOBUS_USAGE_TARGETS
1051 will be used.
1052 .Pp
1053 .It Cm UseDNS
1054 Specifies whether
1055 .Xr sshd 8
1056 should look up the remote host name and check that
1057 the resolved host name for the remote IP address maps back to the
1058 very same IP address.
1059 The default is
1060 .Dq yes .
1061 .It Cm UseLogin
1062 Specifies whether
1063 .Xr login 1
1064 is used for interactive login sessions.
1065 The default is
1066 .Dq no .
1067 Note that
1068 .Xr login 1
1069 is never used for remote command execution.
1070 Note also, that if this is enabled,
1071 .Cm X11Forwarding
1072 will be disabled because
1073 .Xr login 1
1074 does not know how to handle
1075 .Xr xauth 1
1076 cookies.
1077 If
1078 .Cm UsePrivilegeSeparation
1079 is specified, it will be disabled after authentication.
1080 .It Cm UsePAM
1081 Enables the Pluggable Authentication Module interface.
1082 If set to
1083 .Dq yes
1084 this will enable PAM authentication using
1085 .Cm ChallengeResponseAuthentication
1086 and
1087 .Cm PasswordAuthentication
1088 in addition to PAM account and session module processing for all
1089 authentication types.
1090 .Pp
1091 Because PAM challenge-response authentication usually serves an equivalent
1092 role to password authentication, you should disable either
1093 .Cm PasswordAuthentication
1094 or
1095 .Cm ChallengeResponseAuthentication.
1096 .Pp
1097 If
1098 .Cm UsePAM
1099 is enabled, you will not be able to run
1100 .Xr sshd 8
1101 as a non-root user.
1102 The default is
1103 .Dq no .
1104 .It Cm PermitPAMUserChange
1105 If set to
1106 .Dq yes
1107 this will enable PAM authentication to change the name of the user being
1108 authenticated.  The default is
1109 .Dq no .
1110 .It Cm UsePrivilegeSeparation
1111 Specifies whether
1112 .Xr sshd 8
1113 separates privileges by creating an unprivileged child process
1114 to deal with incoming network traffic.
1115 After successful authentication, another process will be created that has
1116 the privilege of the authenticated user.
1117 The goal of privilege separation is to prevent privilege
1118 escalation by containing any corruption within the unprivileged processes.
1119 The default is
1120 .Dq yes .
1121 .It Cm X11DisplayOffset
1122 Specifies the first display number available for
1123 .Xr sshd 8 Ns 's
1124 X11 forwarding.
1125 This prevents sshd from interfering with real X11 servers.
1126 The default is 10.
1127 .It Cm X11Forwarding
1128 Specifies whether X11 forwarding is permitted.
1129 The argument must be
1130 .Dq yes
1131 or
1132 .Dq no .
1133 The default is
1134 .Dq no .
1135 .Pp
1136 When X11 forwarding is enabled, there may be additional exposure to
1137 the server and to client displays if the
1138 .Xr sshd 8
1139 proxy display is configured to listen on the wildcard address (see
1140 .Cm X11UseLocalhost
1141 below), though this is not the default.
1142 Additionally, the authentication spoofing and authentication data
1143 verification and substitution occur on the client side.
1144 The security risk of using X11 forwarding is that the client's X11
1145 display server may be exposed to attack when the SSH client requests
1146 forwarding (see the warnings for
1147 .Cm ForwardX11
1148 in
1149 .Xr ssh_config 5 ) .
1150 A system administrator may have a stance in which they want to
1151 protect clients that may expose themselves to attack by unwittingly
1152 requesting X11 forwarding, which can warrant a
1153 .Dq no
1154 setting.
1155 .Pp
1156 Note that disabling X11 forwarding does not prevent users from
1157 forwarding X11 traffic, as users can always install their own forwarders.
1158 X11 forwarding is automatically disabled if
1159 .Cm UseLogin
1160 is enabled.
1161 .It Cm X11UseLocalhost
1162 Specifies whether
1163 .Xr sshd 8
1164 should bind the X11 forwarding server to the loopback address or to
1165 the wildcard address.
1166 By default,
1167 sshd binds the forwarding server to the loopback address and sets the
1168 hostname part of the
1169 .Ev DISPLAY
1170 environment variable to
1171 .Dq localhost .
1172 This prevents remote hosts from connecting to the proxy display.
1173 However, some older X11 clients may not function with this
1174 configuration.
1175 .Cm X11UseLocalhost
1176 may be set to
1177 .Dq no
1178 to specify that the forwarding server should be bound to the wildcard
1179 address.
1180 The argument must be
1181 .Dq yes
1182 or
1183 .Dq no .
1184 The default is
1185 .Dq yes .
1186 .It Cm XAuthLocation
1187 Specifies the full pathname of the
1188 .Xr xauth 1
1189 program.
1190 The default is
1191 .Pa /usr/X11R6/bin/xauth .
1192 .El
1193 .Sh TIME FORMATS
1194 .Xr sshd 8
1195 command-line arguments and configuration file options that specify time
1196 may be expressed using a sequence of the form:
1197 .Sm off
1198 .Ar time Op Ar qualifier ,
1199 .Sm on
1200 where
1201 .Ar time
1202 is a positive integer value and
1203 .Ar qualifier
1204 is one of the following:
1205 .Pp
1206 .Bl -tag -width Ds -compact -offset indent
1207 .It Aq Cm none
1208 seconds
1209 .It Cm s | Cm S
1210 seconds
1211 .It Cm m | Cm M
1212 minutes
1213 .It Cm h | Cm H
1214 hours
1215 .It Cm d | Cm D
1216 days
1217 .It Cm w | Cm W
1218 weeks
1219 .El
1220 .Pp
1221 Each member of the sequence is added together to calculate
1222 the total time value.
1223 .Pp
1224 Time format examples:
1225 .Pp
1226 .Bl -tag -width Ds -compact -offset indent
1227 .It 600
1228 600 seconds (10 minutes)
1229 .It 10m
1230 10 minutes
1231 .It 1h30m
1232 1 hour 30 minutes (90 minutes)
1233 .El
1234 .Sh FILES
1235 .Bl -tag -width Ds
1236 .It Pa /etc/ssh/sshd_config
1237 Contains configuration data for
1238 .Xr sshd 8 .
1239 This file should be writable by root only, but it is recommended
1240 (though not necessary) that it be world-readable.
1241 .El
1242 .Sh SEE ALSO
1243 .Xr sshd 8
1244 .Sh AUTHORS
1245 OpenSSH is a derivative of the original and free
1246 ssh 1.2.12 release by Tatu Ylonen.
1247 Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
1248 Theo de Raadt and Dug Song
1249 removed many bugs, re-added newer features and
1250 created OpenSSH.
1251 Markus Friedl contributed the support for SSH
1252 protocol versions 1.5 and 2.0.
1253 Niels Provos and Markus Friedl contributed support
1254 for privilege separation.
This page took 0.199826 seconds and 5 git commands to generate.