blob: 577605f3e4426a466751af44cc7b75c003e64cb2 [file] [log] [blame]
Ben Lindstrom9f049032002-06-21 00:59:05 +00001.\" -*- 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.\"
Damien Miller1a0c0b92003-09-02 22:51:17 +100037.\" $OpenBSD: sshd_config.5,v 1.24 2003/08/28 12:54:34 markus Exp $
Ben Lindstrom9f049032002-06-21 00:59:05 +000038.Dd September 25, 1999
39.Dt SSHD_CONFIG 5
40.Os
41.Sh NAME
42.Nm sshd_config
43.Nd OpenSSH SSH daemon configuration file
44.Sh SYNOPSIS
45.Bl -tag -width Ds -compact
46.It Pa /etc/ssh/sshd_config
47.El
48.Sh DESCRIPTION
49.Nm sshd
50reads configuration data from
51.Pa /etc/ssh/sshd_config
52(or the file specified with
53.Fl f
54on the command line).
55The file contains keyword-argument pairs, one per line.
56Lines starting with
57.Ql #
58and empty lines are interpreted as comments.
59.Pp
60The possible
61keywords and their meanings are as follows (note that
62keywords are case-insensitive and arguments are case-sensitive):
63.Bl -tag -width Ds
Ben Lindstrom9f049032002-06-21 00:59:05 +000064.It Cm AllowGroups
65This keyword can be followed by a list of group name patterns, separated
66by spaces.
67If specified, login is allowed only for users whose primary
68group or supplementary group list matches one of the patterns.
69.Ql \&*
70and
Damien Miller049245d2003-05-14 13:44:42 +100071.Ql \&?
Ben Lindstrom9f049032002-06-21 00:59:05 +000072can be used as
73wildcards in the patterns.
74Only group names are valid; a numerical group ID is not recognized.
75By default, login is allowed for all groups.
76.Pp
77.It Cm AllowTcpForwarding
78Specifies whether TCP forwarding is permitted.
79The default is
80.Dq yes .
81Note that disabling TCP forwarding does not improve security unless
82users are also denied shell access, as they can always install their
83own forwarders.
84.Pp
85.It Cm AllowUsers
86This keyword can be followed by a list of user name patterns, separated
87by spaces.
Damien Miller5a93add2003-01-24 11:34:52 +110088If specified, login is allowed only for user names that
Ben Lindstrom9f049032002-06-21 00:59:05 +000089match one of the patterns.
90.Ql \&*
91and
Damien Miller049245d2003-05-14 13:44:42 +100092.Ql \&?
Ben Lindstrom9f049032002-06-21 00:59:05 +000093can be used as
94wildcards in the patterns.
95Only user names are valid; a numerical user ID is not recognized.
96By default, login is allowed for all users.
97If the pattern takes the form USER@HOST then USER and HOST
98are separately checked, restricting logins to particular
99users from particular hosts.
100.Pp
101.It Cm AuthorizedKeysFile
102Specifies the file that contains the public keys that can be used
103for user authentication.
104.Cm AuthorizedKeysFile
105may contain tokens of the form %T which are substituted during connection
Damien Millerfbf486b2003-05-23 18:44:23 +1000106set-up.
107The following tokens are defined: %% is replaced by a literal '%',
Ben Lindstrom9f049032002-06-21 00:59:05 +0000108%h is replaced by the home directory of the user being authenticated and
109%u is replaced by the username of that user.
110After expansion,
111.Cm AuthorizedKeysFile
112is taken to be an absolute path or one relative to the user's home
113directory.
114The default is
115.Dq .ssh/authorized_keys .
116.It Cm Banner
117In some jurisdictions, sending a warning message before authentication
118may be relevant for getting legal protection.
119The contents of the specified file are sent to the remote user before
120authentication is allowed.
121This option is only available for protocol version 2.
122By default, no banner is displayed.
123.Pp
124.It Cm ChallengeResponseAuthentication
125Specifies whether challenge response authentication is allowed.
126All authentication styles from
127.Xr login.conf 5
128are supported.
129The default is
130.Dq yes .
131.It Cm Ciphers
132Specifies the ciphers allowed for protocol version 2.
133Multiple ciphers must be comma-separated.
134The default is
135.Pp
136.Bd -literal
137 ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
Darren Tucker91cf2612003-06-22 20:46:53 +1000138 aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr''
Ben Lindstrom9f049032002-06-21 00:59:05 +0000139.Ed
140.It Cm ClientAliveInterval
141Sets a timeout interval in seconds after which if no data has been received
142from the client,
143.Nm sshd
144will send a message through the encrypted
145channel to request a response from the client.
146The default
147is 0, indicating that these messages will not be sent to the client.
148This option applies to protocol version 2 only.
149.It Cm ClientAliveCountMax
150Sets the number of client alive messages (see above) which may be
151sent without
152.Nm sshd
Damien Millerfbf486b2003-05-23 18:44:23 +1000153receiving any messages back from the client.
154If this threshold is reached while client alive messages are being sent,
Ben Lindstrom9f049032002-06-21 00:59:05 +0000155.Nm sshd
Damien Millerfbf486b2003-05-23 18:44:23 +1000156will disconnect the client, terminating the session.
157It is important to note that the use of client alive messages is very
158different from
Ben Lindstrom9f049032002-06-21 00:59:05 +0000159.Cm KeepAlive
Damien Millerfbf486b2003-05-23 18:44:23 +1000160(below).
161The client alive messages are sent through the encrypted channel
162and therefore will not be spoofable.
163The TCP keepalive option enabled by
Ben Lindstrom9f049032002-06-21 00:59:05 +0000164.Cm KeepAlive
Damien Millerfbf486b2003-05-23 18:44:23 +1000165is spoofable.
166The client alive mechanism is valuable when the client or
Ben Lindstrom9f049032002-06-21 00:59:05 +0000167server depend on knowing when a connection has become inactive.
168.Pp
Damien Millerfbf486b2003-05-23 18:44:23 +1000169The default value is 3.
170If
Ben Lindstrom9f049032002-06-21 00:59:05 +0000171.Cm ClientAliveInterval
172(above) is set to 15, and
173.Cm ClientAliveCountMax
174is left at the default, unresponsive ssh clients
175will be disconnected after approximately 45 seconds.
176.It Cm Compression
177Specifies whether compression is allowed.
178The argument must be
179.Dq yes
180or
181.Dq no .
182The default is
183.Dq yes .
184.It Cm DenyGroups
185This keyword can be followed by a list of group name patterns, separated
186by spaces.
187Login is disallowed for users whose primary group or supplementary
188group list matches one of the patterns.
189.Ql \&*
190and
Damien Miller049245d2003-05-14 13:44:42 +1000191.Ql \&?
Ben Lindstrom9f049032002-06-21 00:59:05 +0000192can be used as
193wildcards in the patterns.
194Only group names are valid; a numerical group ID is not recognized.
195By default, login is allowed for all groups.
196.Pp
197.It Cm DenyUsers
198This keyword can be followed by a list of user name patterns, separated
199by spaces.
200Login is disallowed for user names that match one of the patterns.
201.Ql \&*
202and
Damien Miller049245d2003-05-14 13:44:42 +1000203.Ql \&?
Ben Lindstrom9f049032002-06-21 00:59:05 +0000204can be used as wildcards in the patterns.
205Only user names are valid; a numerical user ID is not recognized.
206By default, login is allowed for all users.
207If the pattern takes the form USER@HOST then USER and HOST
208are separately checked, restricting logins to particular
209users from particular hosts.
210.It Cm GatewayPorts
211Specifies whether remote hosts are allowed to connect to ports
212forwarded for the client.
213By default,
214.Nm sshd
Damien Miller495dca32003-04-01 21:42:14 +1000215binds remote port forwardings to the loopback address.
216This prevents other remote hosts from connecting to forwarded ports.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000217.Cm GatewayPorts
218can be used to specify that
219.Nm sshd
220should bind remote port forwardings to the wildcard address,
221thus allowing remote hosts to connect to forwarded ports.
222The argument must be
223.Dq yes
224or
225.Dq no .
226The default is
227.Dq no .
Darren Tucker0efd1552003-08-26 11:49:55 +1000228.It Cm GSSAPIAuthentication
229Specifies whether authentication based on GSSAPI may be used, either using
230the result of a successful key exchange, or using GSSAPI user
231authentication.
232The default is
233.Dq no .
234Note that this option applies to protocol version 2 only.
235.It Cm GSSAPICleanupCredentials
236Specifies whether to automatically destroy the user's credentials cache
237on logout.
238The default is
239.Dq yes .
240Note that this option applies to protocol version 2 only.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000241.It Cm HostbasedAuthentication
242Specifies whether rhosts or /etc/hosts.equiv authentication together
243with successful public key client host authentication is allowed
244(hostbased authentication).
245This option is similar to
246.Cm RhostsRSAAuthentication
247and applies to protocol version 2 only.
248The default is
249.Dq no .
250.It Cm HostKey
251Specifies a file containing a private host key
252used by SSH.
253The default is
254.Pa /etc/ssh/ssh_host_key
255for protocol version 1, and
256.Pa /etc/ssh/ssh_host_rsa_key
257and
258.Pa /etc/ssh/ssh_host_dsa_key
259for protocol version 2.
260Note that
261.Nm sshd
262will refuse to use a file if it is group/world-accessible.
263It is possible to have multiple host key files.
264.Dq rsa1
265keys are used for version 1 and
266.Dq dsa
267or
268.Dq rsa
269are used for version 2 of the SSH protocol.
270.It Cm IgnoreRhosts
271Specifies that
272.Pa .rhosts
273and
274.Pa .shosts
275files will not be used in
Ben Lindstrom9f049032002-06-21 00:59:05 +0000276.Cm RhostsRSAAuthentication
277or
278.Cm HostbasedAuthentication .
279.Pp
280.Pa /etc/hosts.equiv
281and
282.Pa /etc/shosts.equiv
283are still used.
284The default is
285.Dq yes .
286.It Cm IgnoreUserKnownHosts
287Specifies whether
288.Nm sshd
289should ignore the user's
290.Pa $HOME/.ssh/known_hosts
291during
292.Cm RhostsRSAAuthentication
293or
294.Cm HostbasedAuthentication .
295The default is
296.Dq no .
297.It Cm KeepAlive
298Specifies whether the system should send TCP keepalive messages to the
299other side.
300If they are sent, death of the connection or crash of one
301of the machines will be properly noticed.
302However, this means that
303connections will die if the route is down temporarily, and some people
304find it annoying.
305On the other hand, if keepalives are not sent,
306sessions may hang indefinitely on the server, leaving
307.Dq ghost
308users and consuming server resources.
309.Pp
310The default is
311.Dq yes
312(to send keepalives), and the server will notice
313if the network goes down or the client host crashes.
314This avoids infinitely hanging sessions.
315.Pp
316To disable keepalives, the value should be set to
317.Dq no .
318.It Cm KerberosAuthentication
Damien Miller1a0c0b92003-09-02 22:51:17 +1000319Specifies whether the password provided by the user for
Ben Lindstrom9f049032002-06-21 00:59:05 +0000320.Cm PasswordAuthentication
Damien Miller1a0c0b92003-09-02 22:51:17 +1000321will be validated through the Kerberos KDC.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000322To use this option, the server needs a
323Kerberos servtab which allows the verification of the KDC's identity.
324Default is
325.Dq no .
326.It Cm KerberosOrLocalPasswd
327If set then if password authentication through Kerberos fails then
328the password will be validated via any additional local mechanism
329such as
330.Pa /etc/passwd .
331Default is
332.Dq yes .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000333.It Cm KerberosTicketCleanup
334Specifies whether to automatically destroy the user's ticket cache
335file on logout.
336Default is
337.Dq yes .
338.It Cm KeyRegenerationInterval
339In protocol version 1, the ephemeral server key is automatically regenerated
340after this many seconds (if it has been used).
341The purpose of regeneration is to prevent
342decrypting captured sessions by later breaking into the machine and
343stealing the keys.
344The key is never stored anywhere.
345If the value is 0, the key is never regenerated.
346The default is 3600 (seconds).
347.It Cm ListenAddress
348Specifies the local addresses
349.Nm sshd
350should listen on.
351The following forms may be used:
352.Pp
353.Bl -item -offset indent -compact
354.It
355.Cm ListenAddress
356.Sm off
357.Ar host No | Ar IPv4_addr No | Ar IPv6_addr
358.Sm on
359.It
360.Cm ListenAddress
361.Sm off
362.Ar host No | Ar IPv4_addr No : Ar port
363.Sm on
364.It
365.Cm ListenAddress
366.Sm off
367.Oo
368.Ar host No | Ar IPv6_addr Oc : Ar port
369.Sm on
370.El
371.Pp
372If
373.Ar port
374is not specified,
375.Nm sshd
376will listen on the address and all prior
377.Cm Port
Damien Millerfbf486b2003-05-23 18:44:23 +1000378options specified.
379The default is to listen on all local addresses.
Damien Miller495dca32003-04-01 21:42:14 +1000380Multiple
Ben Lindstrom9f049032002-06-21 00:59:05 +0000381.Cm ListenAddress
Damien Millerfbf486b2003-05-23 18:44:23 +1000382options are permitted.
383Additionally, any
Ben Lindstrom9f049032002-06-21 00:59:05 +0000384.Cm Port
385options must precede this option for non port qualified addresses.
386.It Cm LoginGraceTime
387The server disconnects after this time if the user has not
388successfully logged in.
389If the value is 0, there is no time limit.
Damien Millerc1348632002-09-05 14:35:14 +1000390The default is 120 seconds.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000391.It Cm LogLevel
392Gives the verbosity level that is used when logging messages from
393.Nm sshd .
394The possible values are:
395QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.
Damien Miller495dca32003-04-01 21:42:14 +1000396The default is INFO.
397DEBUG and DEBUG1 are equivalent.
398DEBUG2 and DEBUG3 each specify higher levels of debugging output.
399Logging with a DEBUG level violates the privacy of users and is not recommended.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000400.It Cm MACs
401Specifies the available MAC (message authentication code) algorithms.
402The MAC algorithm is used in protocol version 2
403for data integrity protection.
404Multiple algorithms must be comma-separated.
405The default is
406.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
407.It Cm MaxStartups
408Specifies the maximum number of concurrent unauthenticated connections to the
409.Nm sshd
410daemon.
411Additional connections will be dropped until authentication succeeds or the
412.Cm LoginGraceTime
413expires for a connection.
414The default is 10.
415.Pp
416Alternatively, random early drop can be enabled by specifying
417the three colon separated values
418.Dq start:rate:full
419(e.g., "10:30:60").
420.Nm sshd
421will refuse connection attempts with a probability of
422.Dq rate/100
423(30%)
424if there are currently
425.Dq start
426(10)
427unauthenticated connections.
428The probability increases linearly and all connection attempts
429are refused if the number of unauthenticated connections reaches
430.Dq full
431(60).
432.It Cm PasswordAuthentication
433Specifies whether password authentication is allowed.
434The default is
435.Dq yes .
436.It Cm PermitEmptyPasswords
437When password authentication is allowed, it specifies whether the
438server allows login to accounts with empty password strings.
439The default is
440.Dq no .
441.It Cm PermitRootLogin
442Specifies whether root can login using
443.Xr ssh 1 .
444The argument must be
445.Dq yes ,
446.Dq without-password ,
447.Dq forced-commands-only
448or
449.Dq no .
450The default is
451.Dq yes .
452.Pp
453If this option is set to
454.Dq without-password
455password authentication is disabled for root.
456.Pp
457If this option is set to
458.Dq forced-commands-only
459root login with public key authentication will be allowed,
460but only if the
461.Ar command
462option has been specified
463(which may be useful for taking remote backups even if root login is
Damien Millerfbf486b2003-05-23 18:44:23 +1000464normally not allowed).
465All other authentication methods are disabled for root.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000466.Pp
467If this option is set to
468.Dq no
469root is not allowed to login.
Ben Lindstrom5d860f02002-08-01 01:28:38 +0000470.It Cm PermitUserEnvironment
471Specifies whether
472.Pa ~/.ssh/environment
Ben Lindstrombd9bf382002-08-20 18:54:20 +0000473and
Ben Lindstrom5d860f02002-08-01 01:28:38 +0000474.Cm environment=
475options in
476.Pa ~/.ssh/authorized_keys
Ben Lindstrombd9bf382002-08-20 18:54:20 +0000477are processed by
478.Nm sshd .
Ben Lindstrom5d860f02002-08-01 01:28:38 +0000479The default is
480.Dq no .
Ben Lindstrombd9bf382002-08-20 18:54:20 +0000481Enabling environment processing may enable users to bypass access
482restrictions in some configurations using mechanisms such as
483.Ev LD_PRELOAD .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000484.It Cm PidFile
Ben Lindstrom959de992002-06-23 00:35:25 +0000485Specifies the file that contains the process ID of the
Ben Lindstrom9f049032002-06-21 00:59:05 +0000486.Nm sshd
487daemon.
488The default is
489.Pa /var/run/sshd.pid .
490.It Cm Port
491Specifies the port number that
492.Nm sshd
493listens on.
494The default is 22.
495Multiple options of this type are permitted.
496See also
497.Cm ListenAddress .
498.It Cm PrintLastLog
499Specifies whether
500.Nm sshd
501should print the date and time when the user last logged in.
502The default is
503.Dq yes .
504.It Cm PrintMotd
505Specifies whether
506.Nm sshd
507should print
508.Pa /etc/motd
509when a user logs in interactively.
510(On some systems it is also printed by the shell,
511.Pa /etc/profile ,
512or equivalent.)
513The default is
514.Dq yes .
515.It Cm Protocol
516Specifies the protocol versions
517.Nm sshd
Ben Lindstrom9c445542002-07-11 03:59:18 +0000518supports.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000519The possible values are
520.Dq 1
521and
522.Dq 2 .
523Multiple versions must be comma-separated.
524The default is
525.Dq 2,1 .
Ben Lindstrom9c445542002-07-11 03:59:18 +0000526Note that the order of the protocol list does not indicate preference,
527because the client selects among multiple protocol versions offered
528by the server.
529Specifying
530.Dq 2,1
531is identical to
532.Dq 1,2 .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000533.It Cm PubkeyAuthentication
534Specifies whether public key authentication is allowed.
535The default is
536.Dq yes .
537Note that this option applies to protocol version 2 only.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000538.Cm RhostsRSAAuthentication
539should be used
540instead, because it performs RSA-based host authentication in addition
541to normal rhosts or /etc/hosts.equiv authentication.
542The default is
543.Dq no .
544This option applies to protocol version 1 only.
545.It Cm RhostsRSAAuthentication
546Specifies whether rhosts or /etc/hosts.equiv authentication together
547with successful RSA host authentication is allowed.
548The default is
549.Dq no .
550This option applies to protocol version 1 only.
551.It Cm RSAAuthentication
552Specifies whether pure RSA authentication is allowed.
553The default is
554.Dq yes .
555This option applies to protocol version 1 only.
556.It Cm ServerKeyBits
557Defines the number of bits in the ephemeral protocol version 1 server key.
558The minimum value is 512, and the default is 768.
559.It Cm StrictModes
560Specifies whether
561.Nm sshd
562should check file modes and ownership of the
563user's files and home directory before accepting login.
564This is normally desirable because novices sometimes accidentally leave their
565directory or files world-writable.
566The default is
567.Dq yes .
568.It Cm Subsystem
569Configures an external subsystem (e.g., file transfer daemon).
570Arguments should be a subsystem name and a command to execute upon subsystem
571request.
572The command
573.Xr sftp-server 8
574implements the
575.Dq sftp
576file transfer subsystem.
577By default no subsystems are defined.
578Note that this option applies to protocol version 2 only.
579.It Cm SyslogFacility
580Gives the facility code that is used when logging messages from
581.Nm sshd .
582The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
583LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
584The default is AUTH.
Damien Miller3a961dc2003-06-03 10:25:48 +1000585.It Cm UseDNS
586Specifies whether
587.Nm sshd
588should lookup the remote host name and check that
589the resolved host name for the remote IP address maps back to the
590very same IP address.
591The default is
592.Dq yes .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000593.It Cm UseLogin
594Specifies whether
595.Xr login 1
596is used for interactive login sessions.
597The default is
598.Dq no .
599Note that
600.Xr login 1
601is never used for remote command execution.
602Note also, that if this is enabled,
603.Cm X11Forwarding
604will be disabled because
605.Xr login 1
606does not know how to handle
607.Xr xauth 1
Damien Miller495dca32003-04-01 21:42:14 +1000608cookies.
609If
Ben Lindstrom9f049032002-06-21 00:59:05 +0000610.Cm UsePrivilegeSeparation
611is specified, it will be disabled after authentication.
Damien Miller2e193e22003-05-14 15:13:03 +1000612.It Cm UsePAM
613Enables PAM authentication (via challenge-response) and session set up.
614If you enable this, you should probably disable
615.Cm PasswordAuthentication .
616If you enable
617.CM UsePAM
618then you will not be able to run sshd as a non-root user.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000619.It Cm UsePrivilegeSeparation
620Specifies whether
621.Nm sshd
622separates privileges by creating an unprivileged child process
Damien Miller495dca32003-04-01 21:42:14 +1000623to deal with incoming network traffic.
624After successful authentication, another process will be created that has
625the privilege of the authenticated user.
626The goal of privilege separation is to prevent privilege
Ben Lindstrom9f049032002-06-21 00:59:05 +0000627escalation by containing any corruption within the unprivileged processes.
628The default is
629.Dq yes .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000630.It Cm X11DisplayOffset
631Specifies the first display number available for
632.Nm sshd Ns 's
633X11 forwarding.
634This prevents
635.Nm sshd
636from interfering with real X11 servers.
637The default is 10.
638.It Cm X11Forwarding
639Specifies whether X11 forwarding is permitted.
Damien Miller101c4a72002-09-19 11:51:21 +1000640The argument must be
641.Dq yes
642or
643.Dq no .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000644The default is
645.Dq no .
Damien Miller101c4a72002-09-19 11:51:21 +1000646.Pp
647When X11 forwarding is enabled, there may be additional exposure to
648the server and to client displays if the
649.Nm sshd
650proxy display is configured to listen on the wildcard address (see
651.Cm X11UseLocalhost
652below), however this is not the default.
653Additionally, the authentication spoofing and authentication data
654verification and substitution occur on the client side.
655The security risk of using X11 forwarding is that the client's X11
656display server may be exposed to attack when the ssh client requests
657forwarding (see the warnings for
658.Cm ForwardX11
659in
Damien Millerf1ce5052003-06-11 22:04:39 +1000660.Xr ssh_config 5 ) .
Damien Miller101c4a72002-09-19 11:51:21 +1000661A system administrator may have a stance in which they want to
662protect clients that may expose themselves to attack by unwittingly
663requesting X11 forwarding, which can warrant a
664.Dq no
665setting.
666.Pp
667Note that disabling X11 forwarding does not prevent users from
668forwarding X11 traffic, as users can always install their own forwarders.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000669X11 forwarding is automatically disabled if
670.Cm UseLogin
671is enabled.
672.It Cm X11UseLocalhost
673Specifies whether
674.Nm sshd
675should bind the X11 forwarding server to the loopback address or to
Damien Miller495dca32003-04-01 21:42:14 +1000676the wildcard address.
677By default,
Ben Lindstrom9f049032002-06-21 00:59:05 +0000678.Nm sshd
679binds the forwarding server to the loopback address and sets the
680hostname part of the
681.Ev DISPLAY
682environment variable to
683.Dq localhost .
Ben Lindstrom15b61202002-08-20 18:44:24 +0000684This prevents remote hosts from connecting to the proxy display.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000685However, some older X11 clients may not function with this
686configuration.
687.Cm X11UseLocalhost
688may be set to
689.Dq no
690to specify that the forwarding server should be bound to the wildcard
691address.
692The argument must be
693.Dq yes
694or
695.Dq no .
696The default is
697.Dq yes .
698.It Cm XAuthLocation
Damien Miller05913ba2002-09-04 16:51:03 +1000699Specifies the full pathname of the
Ben Lindstrom9f049032002-06-21 00:59:05 +0000700.Xr xauth 1
701program.
702The default is
703.Pa /usr/X11R6/bin/xauth .
704.El
705.Ss Time Formats
Ben Lindstrom9f049032002-06-21 00:59:05 +0000706.Nm sshd
707command-line arguments and configuration file options that specify time
708may be expressed using a sequence of the form:
709.Sm off
Ben Lindstrom1f8cf4f2002-08-20 18:43:27 +0000710.Ar time Op Ar qualifier ,
Ben Lindstrom9f049032002-06-21 00:59:05 +0000711.Sm on
712where
713.Ar time
714is a positive integer value and
715.Ar qualifier
716is one of the following:
717.Pp
718.Bl -tag -width Ds -compact -offset indent
719.It Cm <none>
720seconds
721.It Cm s | Cm S
722seconds
723.It Cm m | Cm M
724minutes
725.It Cm h | Cm H
726hours
727.It Cm d | Cm D
728days
729.It Cm w | Cm W
730weeks
731.El
732.Pp
733Each member of the sequence is added together to calculate
734the total time value.
735.Pp
736Time format examples:
737.Pp
738.Bl -tag -width Ds -compact -offset indent
739.It 600
740600 seconds (10 minutes)
741.It 10m
74210 minutes
743.It 1h30m
7441 hour 30 minutes (90 minutes)
745.El
746.Sh FILES
747.Bl -tag -width Ds
748.It Pa /etc/ssh/sshd_config
749Contains configuration data for
750.Nm sshd .
751This file should be writable by root only, but it is recommended
752(though not necessary) that it be world-readable.
753.El
Damien Millerf1ce5052003-06-11 22:04:39 +1000754.Sh SEE ALSO
755.Xr sshd 8
Ben Lindstrom9f049032002-06-21 00:59:05 +0000756.Sh AUTHORS
757OpenSSH is a derivative of the original and free
758ssh 1.2.12 release by Tatu Ylonen.
759Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
760Theo de Raadt and Dug Song
761removed many bugs, re-added newer features and
762created OpenSSH.
763Markus Friedl contributed the support for SSH
764protocol versions 1.5 and 2.0.
765Niels Provos and Markus Friedl contributed support
766for privilege separation.