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