]> andersk Git - gssapi-openssh.git/blame_incremental - openssh/sshd_config.5
Fixed the default tag set.
[gssapi-openssh.git] / openssh / sshd_config.5
... / ...
CommitLineData
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
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.
57Arguments may optionally be enclosed in double quotes
58.Pq \&"
59in order to represent arguments containing spaces.
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
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
76.Ql *
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.
87.It Cm AddressFamily
88Specifies which address family should be used by
89.Xr sshd 8 .
90Valid arguments are
91.Dq any ,
92.Dq inet
93(use IPv4 only), or
94.Dq inet6
95(use IPv6 only).
96The default is
97.Dq any .
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.
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.
112Only group names are valid; a numerical group ID is not recognized.
113By default, login is allowed for all groups.
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.
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.
133.It Cm AllowUsers
134This keyword can be followed by a list of user name patterns, separated
135by spaces.
136If specified, login is allowed only for user names that
137match one of the patterns.
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.
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.
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
160setup.
161The 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.
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
171The contents of the specified file are sent to the remote user before
172authentication is allowed.
173If the argument is
174.Dq none
175then no banner is displayed.
176This option is only available for protocol version 2.
177By default, no banner is displayed.
178.It Cm ChallengeResponseAuthentication
179Specifies whether challenge-response authentication is allowed (e.g. via
180PAM or though authentication styles supported in
181.Xr login.conf 5 )
182The default is
183.Dq yes .
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.
190After the chroot,
191.Xr sshd 8
192changes the working directory to the user's home directory.
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
202user's session.
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
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
225for details).
226.Pp
227The default is not to
228.Xr chroot 2 .
229.It Cm Ciphers
230Specifies the ciphers allowed for protocol version 2.
231Multiple ciphers must be comma-separated.
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 ,
240.Dq arcfour128 ,
241.Dq arcfour256 ,
242.Dq arcfour ,
243.Dq blowfish-cbc ,
244and
245.Dq cast128-cbc .
246The default is:
247.Bd -literal -offset 3n
248aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
249aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
250aes256-cbc,arcfour
251.Ed
252.It Cm ClientAliveCountMax
253Sets the number of client alive messages (see below) which may be
254sent without
255.Xr sshd 8
256receiving any messages back from the client.
257If this threshold is reached while client alive messages are being sent,
258sshd will disconnect the client, terminating the session.
259It is important to note that the use of client alive messages is very
260different from
261.Cm TCPKeepAlive
262(below).
263The client alive messages are sent through the encrypted channel
264and therefore will not be spoofable.
265The TCP keepalive option enabled by
266.Cm TCPKeepAlive
267is spoofable.
268The client alive mechanism is valuable when the client or
269server depend on knowing when a connection has become inactive.
270.Pp
271The default value is 3.
272If
273.Cm ClientAliveInterval
274(see below) is set to 15, and
275.Cm ClientAliveCountMax
276is left at the default, unresponsive SSH clients
277will be disconnected after approximately 45 seconds.
278This option applies to protocol version 2 only.
279.It Cm ClientAliveInterval
280Sets a timeout interval in seconds after which if no data has been received
281from the client,
282.Xr sshd 8
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.
288.It Cm Compression
289Specifies whether compression is allowed, or delayed until
290the user has authenticated successfully.
291The argument must be
292.Dq yes ,
293.Dq delayed ,
294or
295.Dq no .
296The default is
297.Dq delayed .
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.
303Only group names are valid; a numerical group ID is not recognized.
304By default, login is allowed for all groups.
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.
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.
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.
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.
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.
348.It Cm ForceCommand
349Forces the execution of the command specified by
350.Cm ForceCommand ,
351ignoring any command supplied by the client and
352.Pa ~/.ssh/rc
353if present.
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.
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 .
367.It Cm GatewayPorts
368Specifies whether remote hosts are allowed to connect to ports
369forwarded for the client.
370By default,
371.Xr sshd 8
372binds remote port forwardings to the loopback address.
373This prevents other remote hosts from connecting to forwarded ports.
374.Cm GatewayPorts
375can be used to specify that sshd
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,
381.Dq yes
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.
385The default is
386.Dq no .
387.It Cm GSSAPIAuthentication
388Specifies whether user authentication based on GSSAPI is allowed.
389The default is
390.Dq yes .
391Note that this option applies to protocol version 2 only.
392.It Cm GSSAPIDelegateCredentials
393Specifies whether delegated credentials are stored in the user's environment.
394The default is
395.Dq yes .
396.It Cm GSSAPIKeyExchange
397Specifies whether key exchange based on GSSAPI is allowed. GSSAPI key exchange
398doesn't rely on ssh keys to verify host identity.
399The default is
400.Dq yes .
401Note that this option applies to protocol version 2 only.
402.It Cm GSSAPICleanupCredentials
403Specifies whether to automatically destroy the user's credentials cache
404on logout.
405The default is
406.Dq yes .
407Note that this option applies to protocol version 2 only.
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 .
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.
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
445.Dq no .
446.It Cm HostbasedAuthentication
447Specifies whether rhosts or /etc/hosts.equiv authentication together
448with successful public key client host authentication is allowed
449(host-based authentication).
450This option is similar to
451.Cm RhostsRSAAuthentication
452and applies to protocol version 2 only.
453The default is
454.Dq no .
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 .
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
483.Xr sshd 8
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
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
510.Xr sshd 8
511should ignore the user's
512.Pa ~/.ssh/known_hosts
513during
514.Cm RhostsRSAAuthentication
515or
516.Cm HostbasedAuthentication .
517The default is
518.Dq no .
519.It Cm KerberosAuthentication
520Specifies whether the password provided by the user for
521.Cm PasswordAuthentication
522will be validated through the Kerberos KDC.
523To use this option, the server needs a
524Kerberos servtab which allows the verification of the KDC's identity.
525The default is
526.Dq no .
527.It Cm KerberosGetAFSToken
528If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire
529an AFS token before accessing the user's home directory.
530The default is
531.Dq no .
532.It Cm KerberosOrLocalPasswd
533If password authentication through Kerberos fails then
534the password will be validated via any additional local mechanism
535such as
536.Pa /etc/passwd .
537The default is
538.Dq yes .
539.It Cm KerberosTicketCleanup
540Specifies whether to automatically destroy the user's ticket cache
541file on logout.
542The default is
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
555.Xr sshd 8
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,
581sshd will listen on the address and all prior
582.Cm Port
583options specified.
584The default is to listen on all local addresses.
585Multiple
586.Cm ListenAddress
587options are permitted.
588Additionally, any
589.Cm Port
590options must precede this option for non-port qualified addresses.
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.
595The default is 120 seconds.
596.It Cm LogLevel
597Gives the verbosity level that is used when logging messages from
598.Xr sshd 8 .
599The possible values are:
600QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
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.
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.
610The default is:
611.Bd -literal -offset indent
612hmac-md5,hmac-sha1,umac-64@openssh.com,
613hmac-ripemd160,hmac-sha1-96,hmac-md5-96
614.Ed
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.
623.Pp
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 .
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
655Only a subset of keywords may be used on the lines following a
656.Cm Match
657keyword.
658Available 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
679and
680.Cm X11UseLocalHost .
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.
687.It Cm MaxSessions
688Specifies the maximum number of open sessions permitted per network connection.
689The default is 10.
690.It Cm MaxStartups
691Specifies the maximum number of concurrent unauthenticated connections to the
692SSH daemon.
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
701(e.g. "10:30:60").
702.Xr sshd 8
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 .
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.
750.It Cm PermitRootLogin
751Specifies whether root can log in using
752.Xr ssh 1 .
753The argument must be
754.Dq yes ,
755.Dq without-password ,
756.Dq forced-commands-only ,
757or
758.Dq no .
759The default is
760.Dq yes .
761.Pp
762If this option is set to
763.Dq without-password ,
764password authentication is disabled for root.
765.Pp
766If this option is set to
767.Dq forced-commands-only ,
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
773normally not allowed).
774All other authentication methods are disabled for root.
775.Pp
776If this option is set to
777.Dq no ,
778root is not allowed to log in.
779.It Cm PermitTunnel
780Specifies whether
781.Xr tun 4
782device forwarding is allowed.
783The argument must be
784.Dq yes ,
785.Dq point-to-point
786(layer 3),
787.Dq ethernet
788(layer 2), or
789.Dq no .
790Specifying
791.Dq yes
792permits both
793.Dq point-to-point
794and
795.Dq ethernet .
796The default is
797.Dq no .
798.It Cm PermitUserEnvironment
799Specifies whether
800.Pa ~/.ssh/environment
801and
802.Cm environment=
803options in
804.Pa ~/.ssh/authorized_keys
805are processed by
806.Xr sshd 8 .
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 .
812.It Cm PidFile
813Specifies the file that contains the process ID of the
814SSH daemon.
815The default is
816.Pa /var/run/sshd.pid .
817.It Cm Port
818Specifies the port number that
819.Xr sshd 8
820listens on.
821The default is 22.
822Multiple options of this type are permitted.
823See also
824.Cm ListenAddress .
825.It Cm PrintLastLog
826Specifies whether
827.Xr sshd 8
828should print the date and time of the last user login when a user logs
829in interactively.
830The default is
831.Dq yes .
832.It Cm PrintMotd
833Specifies whether
834.Xr sshd 8
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
845.Xr sshd 8
846supports.
847The possible values are
848.Sq 1
849and
850.Sq 2 .
851Multiple versions must be comma-separated.
852The default is
853.Dq 2,1 .
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 .
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.
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.
879The minimum value is 512, and the default is 1024.
880.It Cm StrictModes
881Specifies whether
882.Xr sshd 8
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
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.
893.Pp
894The command
895.Xr sftp-server 8
896implements the
897.Dq sftp
898file transfer subsystem.
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
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
913.Xr sshd 8 .
914The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
915LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
916The default is AUTH.
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 .
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"
1014is specified, the tags VvMm are assumed. A site could choose to allow a
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
1043.It Cm UseDNS
1044Specifies whether
1045.Xr sshd 8
1046should look up the remote host name and check that
1047the resolved host name for the remote IP address maps back to the
1048very same IP address.
1049The default is
1050.Dq yes .
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
1066cookies.
1067If
1068.Cm UsePrivilegeSeparation
1069is specified, it will be disabled after authentication.
1070.It Cm UsePAM
1071Enables the Pluggable Authentication Module interface.
1072If set to
1073.Dq yes
1074this will enable PAM authentication using
1075.Cm ChallengeResponseAuthentication
1076and
1077.Cm PasswordAuthentication
1078in addition to PAM account and session module processing for all
1079authentication types.
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
1093.Dq no .
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 .
1100.It Cm UsePrivilegeSeparation
1101Specifies whether
1102.Xr sshd 8
1103separates privileges by creating an unprivileged child process
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
1108escalation by containing any corruption within the unprivileged processes.
1109The default is
1110.Dq yes .
1111.It Cm X11DisplayOffset
1112Specifies the first display number available for
1113.Xr sshd 8 Ns 's
1114X11 forwarding.
1115This prevents sshd from interfering with real X11 servers.
1116The default is 10.
1117.It Cm X11Forwarding
1118Specifies whether X11 forwarding is permitted.
1119The argument must be
1120.Dq yes
1121or
1122.Dq no .
1123The default is
1124.Dq no .
1125.Pp
1126When X11 forwarding is enabled, there may be additional exposure to
1127the server and to client displays if the
1128.Xr sshd 8
1129proxy display is configured to listen on the wildcard address (see
1130.Cm X11UseLocalhost
1131below), though this is not the default.
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
1135display server may be exposed to attack when the SSH client requests
1136forwarding (see the warnings for
1137.Cm ForwardX11
1138in
1139.Xr ssh_config 5 ) .
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.
1148X11 forwarding is automatically disabled if
1149.Cm UseLogin
1150is enabled.
1151.It Cm X11UseLocalhost
1152Specifies whether
1153.Xr sshd 8
1154should bind the X11 forwarding server to the loopback address or to
1155the wildcard address.
1156By default,
1157sshd binds the forwarding server to the loopback address and sets the
1158hostname part of the
1159.Ev DISPLAY
1160environment variable to
1161.Dq localhost .
1162This prevents remote hosts from connecting to the proxy display.
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
1177Specifies the full pathname of the
1178.Xr xauth 1
1179program.
1180The default is
1181.Pa /usr/X11R6/bin/xauth .
1182.El
1183.Sh TIME FORMATS
1184.Xr sshd 8
1185command-line arguments and configuration file options that specify time
1186may be expressed using a sequence of the form:
1187.Sm off
1188.Ar time Op Ar qualifier ,
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
1197.It Aq Cm none
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
1228.Xr sshd 8 .
1229This file should be writable by root only, but it is recommended
1230(though not necessary) that it be world-readable.
1231.El
1232.Sh SEE ALSO
1233.Xr sshd 8
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.054721 seconds and 5 git commands to generate.