blob: 0402748d2f93752dda72a1f62be98e31ae3c4800 [file] [log] [blame]
Damien Miller32aa1441999-10-29 09:15:49 +10001.\" -*- nroff -*-
2.\"
3.\" sshd.8.in
4.\"
5.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
6.\"
7.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8.\" All rights reserved
9.\"
10.\" Created: Sat Apr 22 21:55:14 1995 ylo
11.\"
Damien Miller7b28dc52000-09-05 13:34:53 +110012.\" $Id: sshd.8,v 1.28 2000/09/05 02:34:54 djm Exp $
Damien Miller32aa1441999-10-29 09:15:49 +100013.\"
14.Dd September 25, 1999
15.Dt SSHD 8
16.Os
17.Sh NAME
18.Nm sshd
19.Nd secure shell daemon
20.Sh SYNOPSIS
21.Nm sshd
Damien Miller34132e52000-01-14 15:45:46 +110022.Op Fl diqQ46
Damien Miller32aa1441999-10-29 09:15:49 +100023.Op Fl b Ar bits
24.Op Fl f Ar config_file
25.Op Fl g Ar login_grace_time
26.Op Fl h Ar host_key_file
27.Op Fl k Ar key_gen_time
28.Op Fl p Ar port
Damien Miller942da032000-08-18 13:59:06 +100029.Op Fl u Ar len
Damien Miller95def091999-11-25 00:26:21 +110030.Op Fl V Ar client_protocol_id
Damien Miller22c77262000-04-13 12:26:34 +100031.Sh DESCRIPTION
Damien Miller32aa1441999-10-29 09:15:49 +100032.Nm
Damien Miller22c77262000-04-13 12:26:34 +100033(Secure Shell Daemon) is the daemon program for
Damien Miller32aa1441999-10-29 09:15:49 +100034.Xr ssh 1 .
Damien Miller35dabd02000-05-01 21:10:33 +100035Together these programs replace rlogin and rsh, and
Damien Miller32aa1441999-10-29 09:15:49 +100036provide secure encrypted communications between two untrusted hosts
Damien Miller450a7a12000-03-26 13:04:51 +100037over an insecure network.
38The programs are intended to be as easy to
Damien Miller32aa1441999-10-29 09:15:49 +100039install and use as possible.
40.Pp
41.Nm
Damien Miller450a7a12000-03-26 13:04:51 +100042is the daemon that listens for connections from clients.
Damien Miller22c77262000-04-13 12:26:34 +100043It is normally started at boot from
Damien Miller32aa1441999-10-29 09:15:49 +100044.Pa /etc/rc .
45It forks a new
Damien Miller450a7a12000-03-26 13:04:51 +100046daemon for each incoming connection.
47The forked daemons handle
Damien Miller32aa1441999-10-29 09:15:49 +100048key exchange, encryption, authentication, command execution,
49and data exchange.
Damien Millere247cc42000-05-07 12:03:14 +100050This implementation of
51.Nm
52supports both SSH protocol version 1 and 2 simultaneously.
Damien Miller32aa1441999-10-29 09:15:49 +100053.Nm
Damien Miller450a7a12000-03-26 13:04:51 +100054works as follows.
Damien Millere247cc42000-05-07 12:03:14 +100055.Pp
56.Ss SSH protocol version 1
57.Pp
Damien Miller450a7a12000-03-26 13:04:51 +100058Each host has a host-specific RSA key
59(normally 1024 bits) used to identify the host.
60Additionally, when
Damien Miller32aa1441999-10-29 09:15:49 +100061the daemon starts, it generates a server RSA key (normally 768 bits).
62This key is normally regenerated every hour if it has been used, and
63is never stored on disk.
64.Pp
Damien Miller35dabd02000-05-01 21:10:33 +100065Whenever a client connects the daemon responds with its public
66host and server keys.
Damien Miller450a7a12000-03-26 13:04:51 +100067The client compares the
Damien Millere247cc42000-05-07 12:03:14 +100068RSA host key against its own database to verify that it has not changed.
Damien Miller450a7a12000-03-26 13:04:51 +100069The client then generates a 256 bit random number.
70It encrypts this
Damien Miller32aa1441999-10-29 09:15:49 +100071random number using both the host key and the server key, and sends
Damien Miller450a7a12000-03-26 13:04:51 +100072the encrypted number to the server.
Damien Miller35dabd02000-05-01 21:10:33 +100073Both sides then use this
Damien Miller32aa1441999-10-29 09:15:49 +100074random number as a session key which is used to encrypt all further
Damien Miller450a7a12000-03-26 13:04:51 +100075communications in the session.
76The rest of the session is encrypted
Damien Miller35dabd02000-05-01 21:10:33 +100077using a conventional cipher, currently Blowfish or 3DES, with 3DES
Damien Millerb38eff82000-04-01 11:09:21 +100078being used by default.
Damien Miller450a7a12000-03-26 13:04:51 +100079The client selects the encryption algorithm
Damien Miller32aa1441999-10-29 09:15:49 +100080to use from those offered by the server.
81.Pp
Damien Miller450a7a12000-03-26 13:04:51 +100082Next, the server and the client enter an authentication dialog.
83The client tries to authenticate itself using
Damien Miller32aa1441999-10-29 09:15:49 +100084.Pa .rhosts
85authentication,
86.Pa .rhosts
87authentication combined with RSA host
88authentication, RSA challenge-response authentication, or password
89based authentication.
90.Pp
91Rhosts authentication is normally disabled
92because it is fundamentally insecure, but can be enabled in the server
Damien Miller450a7a12000-03-26 13:04:51 +100093configuration file if desired.
94System security is not improved unless
Damien Miller32aa1441999-10-29 09:15:49 +100095.Xr rshd 8 ,
96.Xr rlogind 8 ,
97.Xr rexecd 8 ,
98and
99.Xr rexd 8
100are disabled (thus completely disabling
101.Xr rlogin 1
102and
103.Xr rsh 1
Damien Miller35dabd02000-05-01 21:10:33 +1000104into the machine).
Damien Miller32aa1441999-10-29 09:15:49 +1000105.Pp
Damien Millere247cc42000-05-07 12:03:14 +1000106.Ss SSH protocol version 2
107.Pp
Damien Miller942da032000-08-18 13:59:06 +1000108Version 2 works similarly:
Damien Millere247cc42000-05-07 12:03:14 +1000109Each host has a host-specific DSA key used to identify the host.
110However, when the daemon starts, it does not generate a server key.
111Forward security is provided through a Diffie-Hellman key agreement.
112This key agreement results in a shared session key.
113The rest of the session is encrypted
114using a symmetric cipher, currently
115Blowfish, 3DES or CAST128 in CBC mode or Arcfour.
116The client selects the encryption algorithm
117to use from those offered by the server.
118Additionally, session integrity is provided
Damien Miller30c3d422000-05-09 11:02:59 +1000119through a cryptographic message authentication code
Damien Millere247cc42000-05-07 12:03:14 +1000120(hmac-sha1 or hmac-md5).
121.Pp
122Protocol version 2 provides a public key based
123user authentication method (DSAAuthentication)
124and conventional password authentication.
125.Pp
126.Ss Command execution and data forwarding
127.Pp
Damien Miller32aa1441999-10-29 09:15:49 +1000128If the client successfully authenticates itself, a dialog for
Damien Miller450a7a12000-03-26 13:04:51 +1000129preparing the session is entered.
130At this time the client may request
Damien Miller32aa1441999-10-29 09:15:49 +1000131things like allocating a pseudo-tty, forwarding X11 connections,
132forwarding TCP/IP connections, or forwarding the authentication agent
133connection over the secure channel.
134.Pp
135Finally, the client either requests a shell or execution of a command.
Damien Miller450a7a12000-03-26 13:04:51 +1000136The sides then enter session mode.
137In this mode, either side may send
Damien Miller32aa1441999-10-29 09:15:49 +1000138data at any time, and such data is forwarded to/from the shell or
139command on the server side, and the user terminal in the client side.
140.Pp
141When the user program terminates and all forwarded X11 and other
142connections have been closed, the server sends command exit status to
143the client, and both sides exit.
144.Pp
145.Nm
146can be configured using command-line options or a configuration
Damien Miller450a7a12000-03-26 13:04:51 +1000147file.
148Command-line options override values specified in the
Damien Miller32aa1441999-10-29 09:15:49 +1000149configuration file.
150.Pp
Damien Miller6162d121999-11-21 13:23:52 +1100151.Nm
152rereads its configuration file when it receives a hangup signal,
153.Dv SIGHUP .
154.Pp
Damien Miller32aa1441999-10-29 09:15:49 +1000155The options are as follows:
156.Bl -tag -width Ds
157.It Fl b Ar bits
158Specifies the number of bits in the server key (default 768).
159.Pp
160.It Fl d
Damien Miller450a7a12000-03-26 13:04:51 +1000161Debug mode.
162The server sends verbose debug output to the system
163log, and does not put itself in the background.
164The server also will not fork and will only process one connection.
165This option is only intended for debugging for the server.
Damien Miller32aa1441999-10-29 09:15:49 +1000166.It Fl f Ar configuration_file
Damien Miller450a7a12000-03-26 13:04:51 +1000167Specifies the name of the configuration file.
168The default is
Damien Miller886c63a2000-01-20 23:13:36 +1100169.Pa /etc/sshd_config .
Damien Miller32aa1441999-10-29 09:15:49 +1000170.Nm
171refuses to start if there is no configuration file.
172.It Fl g Ar login_grace_time
173Gives the grace time for clients to authenticate themselves (default
Damien Miller450a7a12000-03-26 13:04:51 +1000174300 seconds).
175If the client fails to authenticate the user within
176this many seconds, the server disconnects and exits.
177A value of zero indicates no limit.
Damien Miller32aa1441999-10-29 09:15:49 +1000178.It Fl h Ar host_key_file
Damien Millere247cc42000-05-07 12:03:14 +1000179Specifies the file from which the RSA host key is read (default
Damien Miller886c63a2000-01-20 23:13:36 +1100180.Pa /etc/ssh_host_key ) .
Damien Miller32aa1441999-10-29 09:15:49 +1000181This option must be given if
182.Nm
183is not run as root (as the normal
184host file is normally not readable by anyone but root).
185.It Fl i
186Specifies that
187.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000188is being run from inetd.
Damien Miller32aa1441999-10-29 09:15:49 +1000189.Nm
190is normally not run
191from inetd because it needs to generate the server key before it can
Damien Miller450a7a12000-03-26 13:04:51 +1000192respond to the client, and this may take tens of seconds.
193Clients would have to wait too long if the key was regenerated every time.
Damien Miller7684ee12000-03-17 23:40:15 +1100194However, with small key sizes (e.g., 512) using
Damien Miller32aa1441999-10-29 09:15:49 +1000195.Nm
196from inetd may
197be feasible.
198.It Fl k Ar key_gen_time
199Specifies how often the server key is regenerated (default 3600
Damien Miller450a7a12000-03-26 13:04:51 +1000200seconds, or one hour).
201The motivation for regenerating the key fairly
Damien Miller32aa1441999-10-29 09:15:49 +1000202often is that the key is not stored anywhere, and after about an hour,
203it becomes impossible to recover the key for decrypting intercepted
204communications even if the machine is cracked into or physically
Damien Miller450a7a12000-03-26 13:04:51 +1000205seized.
206A value of zero indicates that the key will never be regenerated.
Damien Miller32aa1441999-10-29 09:15:49 +1000207.It Fl p Ar port
208Specifies the port on which the server listens for connections
209(default 22).
210.It Fl q
Damien Miller450a7a12000-03-26 13:04:51 +1000211Quiet mode.
212Nothing is sent to the system log.
213Normally the beginning,
Damien Miller32aa1441999-10-29 09:15:49 +1000214authentication, and termination of each connection is logged.
Damien Miller942da032000-08-18 13:59:06 +1000215.It Fl u Ar len
216This option is used to specify the size of the field
217in the
218.Li utmp
219structure that holds the remote host name.
220If the resolved host name is longer than
221.Ar len ,
222the dotted decimal value will be used instead.
223This allows hosts with very long host names that
224overflow this field to still be uniquely identified.
225Specifying
226.Fl u0
227indicates that only dotted decimal addresses
228should be put into the
229.Pa utmp
230file.
Damien Miller32aa1441999-10-29 09:15:49 +1000231.It Fl Q
232Do not print an error message if RSA support is missing.
Damien Miller95def091999-11-25 00:26:21 +1100233.It Fl V Ar client_protocol_id
234SSH2 compatibility mode.
Damien Miller35dabd02000-05-01 21:10:33 +1000235When this option is specified
Damien Miller95def091999-11-25 00:26:21 +1100236.Nm
Damien Miller35dabd02000-05-01 21:10:33 +1000237assumes the client has sent the supplied version string
Damien Miller95def091999-11-25 00:26:21 +1100238and skips the
239Protocol Version Identification Exchange.
Damien Miller34132e52000-01-14 15:45:46 +1100240.It Fl 4
241Forces
242.Nm
243to use IPv4 addresses only.
244.It Fl 6
245Forces
246.Nm
247to use IPv6 addresses only.
Damien Miller32aa1441999-10-29 09:15:49 +1000248.El
249.Sh CONFIGURATION FILE
250.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000251reads configuration data from
Damien Miller886c63a2000-01-20 23:13:36 +1100252.Pa /etc/sshd_config
Damien Miller32aa1441999-10-29 09:15:49 +1000253(or the file specified with
254.Fl f
Damien Miller450a7a12000-03-26 13:04:51 +1000255on the command line).
256The file contains keyword-value pairs, one per line.
257Lines starting with
Damien Miller32aa1441999-10-29 09:15:49 +1000258.Ql #
259and empty lines are interpreted as comments.
260.Pp
261The following keywords are possible.
262.Bl -tag -width Ds
263.It Cm AFSTokenPassing
Damien Miller450a7a12000-03-26 13:04:51 +1000264Specifies whether an AFS token may be forwarded to the server.
265Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000266.Dq yes .
267.It Cm AllowGroups
268This keyword can be followed by a number of group names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000269by spaces.
270If specified, login is allowed only for users whose primary
Damien Miller32aa1441999-10-29 09:15:49 +1000271group matches one of the patterns.
272.Ql \&*
273and
274.Ql ?
275can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000276wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000277Only group names are valid; a numerical group ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000278By default login is allowed regardless of the primary group.
Damien Miller32aa1441999-10-29 09:15:49 +1000279.Pp
280.It Cm AllowUsers
281This keyword can be followed by a number of user names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000282by spaces.
283If specified, login is allowed only for users names that
Damien Miller32aa1441999-10-29 09:15:49 +1000284match one of the patterns.
285.Ql \&*
286and
287.Ql ?
288can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000289wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000290Only user names are valid; a numerical user ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000291By default login is allowed regardless of the user name.
Damien Miller32aa1441999-10-29 09:15:49 +1000292.Pp
Damien Miller22c77262000-04-13 12:26:34 +1000293.It Cm Ciphers
294Specifies the ciphers allowed for protocol version 2.
295Multiple ciphers must be comma-separated.
296The default is
Damien Miller30c3d422000-05-09 11:02:59 +1000297.Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc .
Damien Miller32aa1441999-10-29 09:15:49 +1000298.It Cm CheckMail
299Specifies whether
300.Nm
301should check for new mail for interactive logins.
302The default is
303.Dq no .
304.It Cm DenyGroups
305This keyword can be followed by a number of group names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000306by spaces.
307Users whose primary group matches one of the patterns
Damien Miller32aa1441999-10-29 09:15:49 +1000308aren't allowed to log in.
309.Ql \&*
310and
311.Ql ?
312can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000313wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000314Only group names are valid; a numerical group ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000315By default login is allowed regardless of the primary group.
Damien Miller32aa1441999-10-29 09:15:49 +1000316.Pp
317.It Cm DenyUsers
318This keyword can be followed by a number of user names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000319by spaces.
320Login is disallowed for user names that match one of the patterns.
Damien Miller32aa1441999-10-29 09:15:49 +1000321.Ql \&*
322and
323.Ql ?
Damien Miller450a7a12000-03-26 13:04:51 +1000324can be used as wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000325Only user names are valid; a numerical user ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000326By default login is allowed regardless of the user name.
Damien Millere247cc42000-05-07 12:03:14 +1000327.It Cm DSAAuthentication
328Specifies whether DSA authentication is allowed.
329The default is
330.Dq yes .
331Note that this option applies to protocol version 2 only.
332.It Cm GatewayPorts
333Specifies whether remote hosts are allowed to connect to ports
334forwarded for the client.
335The argument must be
336.Dq yes
337or
338.Dq no .
339The default is
340.Dq no .
Damien Miller942da032000-08-18 13:59:06 +1000341.It Cm HostDSAKey
Damien Millere247cc42000-05-07 12:03:14 +1000342Specifies the file containing the private DSA host key (default
343.Pa /etc/ssh_host_dsa_key )
344used by SSH protocol 2.0.
Damien Miller32aa1441999-10-29 09:15:49 +1000345Note that
346.Nm
Damien Miller30c3d422000-05-09 11:02:59 +1000347disables protocol 2.0 if this file is group/world-accessible.
Damien Millere247cc42000-05-07 12:03:14 +1000348.It Cm HostKey
349Specifies the file containing the private RSA host key (default
350.Pa /etc/ssh_host_key )
351used by SSH protocols 1.3 and 1.5.
352Note that
353.Nm
Damien Miller30c3d422000-05-09 11:02:59 +1000354disables protocols 1.3 and 1.5 if this file is group/world-accessible.
Damien Miller32aa1441999-10-29 09:15:49 +1000355.It Cm IgnoreRhosts
Damien Miller98c7ad62000-03-09 21:27:49 +1100356Specifies that
357.Pa .rhosts
Damien Miller22c77262000-04-13 12:26:34 +1000358and
Damien Miller98c7ad62000-03-09 21:27:49 +1100359.Pa .shosts
360files will not be used in authentication.
Damien Miller32aa1441999-10-29 09:15:49 +1000361.Pa /etc/hosts.equiv
362and
Damien Miller22c77262000-04-13 12:26:34 +1000363.Pa /etc/shosts.equiv
Damien Miller450a7a12000-03-26 13:04:51 +1000364are still used.
Damien Miller22c77262000-04-13 12:26:34 +1000365The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100366.Dq yes .
Damien Miller32265091999-11-12 11:33:04 +1100367.It Cm IgnoreUserKnownHosts
368Specifies whether
369.Nm
370should ignore the user's
371.Pa $HOME/.ssh/known_hosts
372during
373.Cm RhostsRSAAuthentication .
374The default is
375.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000376.It Cm KeepAlive
377Specifies whether the system should send keepalive messages to the
Damien Miller450a7a12000-03-26 13:04:51 +1000378other side.
379If they are sent, death of the connection or crash of one
380of the machines will be properly noticed.
381However, this means that
Damien Miller32aa1441999-10-29 09:15:49 +1000382connections will die if the route is down temporarily, and some people
Damien Miller450a7a12000-03-26 13:04:51 +1000383find it annoying.
Damien Miller30c3d422000-05-09 11:02:59 +1000384On the other hand, if keepalives are not sent,
Damien Miller32aa1441999-10-29 09:15:49 +1000385sessions may hang indefinitely on the server, leaving
386.Dq ghost
387users and consuming server resources.
388.Pp
389The default is
390.Dq yes
391(to send keepalives), and the server will notice
Damien Miller450a7a12000-03-26 13:04:51 +1000392if the network goes down or the client host reboots.
393This avoids infinitely hanging sessions.
Damien Miller32aa1441999-10-29 09:15:49 +1000394.Pp
395To disable keepalives, the value should be set to
396.Dq no
397in both the server and the client configuration files.
398.It Cm KerberosAuthentication
Damien Miller450a7a12000-03-26 13:04:51 +1000399Specifies whether Kerberos authentication is allowed.
400This can be in the form of a Kerberos ticket, or if
Damien Miller32aa1441999-10-29 09:15:49 +1000401.Cm PasswordAuthentication
402is yes, the password provided by the user will be validated through
Damien Miller942da032000-08-18 13:59:06 +1000403the Kerberos KDC. To use this option, the server needs a
404Kerberos servtab which allows the verification of the KDC's identity.
Damien Miller450a7a12000-03-26 13:04:51 +1000405Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000406.Dq yes .
407.It Cm KerberosOrLocalPasswd
408If set then if password authentication through Kerberos fails then
409the password will be validated via any additional local mechanism
410such as
411.Pa /etc/passwd
Damien Miller450a7a12000-03-26 13:04:51 +1000412or SecurID.
413Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000414.Dq yes .
415.It Cm KerberosTgtPassing
416Specifies whether a Kerberos TGT may be forwarded to the server.
Damien Miller22c77262000-04-13 12:26:34 +1000417Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000418.Dq no ,
419as this only works when the Kerberos KDC is actually an AFS kaserver.
420.It Cm KerberosTicketCleanup
421Specifies whether to automatically destroy the user's ticket cache
Damien Miller450a7a12000-03-26 13:04:51 +1000422file on logout.
423Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000424.Dq yes .
425.It Cm KeyRegenerationInterval
426The server key is automatically regenerated after this many seconds
Damien Miller450a7a12000-03-26 13:04:51 +1000427(if it has been used).
428The purpose of regeneration is to prevent
Damien Miller32aa1441999-10-29 09:15:49 +1000429decrypting captured sessions by later breaking into the machine and
Damien Miller450a7a12000-03-26 13:04:51 +1000430stealing the keys.
431The key is never stored anywhere.
432If the value is 0, the key is never regenerated.
433The default is 3600 (seconds).
Damien Miller32aa1441999-10-29 09:15:49 +1000434.It Cm ListenAddress
435Specifies what local address
436.Nm
437should listen on.
438The default is to listen to all local addresses.
Damien Miller34132e52000-01-14 15:45:46 +1100439Multiple options of this type are permitted.
440Additionally, the
441.Cm Ports
442options must precede this option.
Damien Miller32aa1441999-10-29 09:15:49 +1000443.It Cm LoginGraceTime
444The server disconnects after this time if the user has not
Damien Miller450a7a12000-03-26 13:04:51 +1000445successfully logged in.
446If the value is 0, there is no time limit.
Damien Miller32aa1441999-10-29 09:15:49 +1000447The default is 600 (seconds).
Damien Miller5ce662a1999-11-11 17:57:39 +1100448.It Cm LogLevel
449Gives the verbosity level that is used when logging messages from
450.Nm sshd .
451The possible values are:
Damien Miller95def091999-11-25 00:26:21 +1100452QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG.
Damien Miller5ce662a1999-11-11 17:57:39 +1100453The default is INFO.
454Logging with level DEBUG violates the privacy of users
455and is not recommended.
Damien Miller37023962000-07-11 17:31:38 +1000456.It Cm MaxStartups
457Specifies the maximum number of concurrent unauthenticated connections to the
458.Nm
459daemon.
460Additional connections will be dropped until authentication succeeds or the
461.Cm LoginGraceTime
462expires for a connection.
463The default is 10.
Damien Miller942da032000-08-18 13:59:06 +1000464.Pp
465Alternatively, random early drop can be enabled by specifying
466the three colon separated values
467.Dq start:rate:full
468(e.g. "10:30:60").
469.Nm
470will refuse connection attempts with a probabillity of
471.Dq rate/100
472(30%)
473if there are currently
474.Dq start
475(10)
476unauthenticated connections.
477The probabillity increases linearly and all connection attempts
478are refused if the number of unauthenticated connections reaches
479.Dq full
480(60).
Damien Miller32aa1441999-10-29 09:15:49 +1000481.It Cm PasswordAuthentication
482Specifies whether password authentication is allowed.
483The default is
484.Dq yes .
Damien Miller942da032000-08-18 13:59:06 +1000485Note that this option applies to both protocol versions 1 and 2.
Damien Miller32aa1441999-10-29 09:15:49 +1000486.It Cm PermitEmptyPasswords
487When password authentication is allowed, it specifies whether the
Damien Miller450a7a12000-03-26 13:04:51 +1000488server allows login to accounts with empty password strings.
489The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100490.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000491.It Cm PermitRootLogin
492Specifies whether the root can log in using
493.Xr ssh 1 .
494The argument must be
495.Dq yes ,
496.Dq without-password
497or
498.Dq no .
499The default is
500.Dq yes .
501If this options is set to
502.Dq without-password
503only password authentication is disabled for root.
504.Pp
505Root login with RSA authentication when the
506.Ar command
507option has been
508specified will be allowed regardless of the value of this setting
509(which may be useful for taking remote backups even if root login is
510normally not allowed).
Damien Miller6f83b8e2000-05-02 09:23:45 +1000511.It Cm PidFile
512Specifies the file that contains the process identifier of the
513.Nm
514daemon.
515The default is
516.Pa /var/run/sshd.pid .
Damien Miller32aa1441999-10-29 09:15:49 +1000517.It Cm Port
518Specifies the port number that
519.Nm
Damien Miller450a7a12000-03-26 13:04:51 +1000520listens on.
521The default is 22.
Damien Miller34132e52000-01-14 15:45:46 +1100522Multiple options of this type are permitted.
Damien Miller32aa1441999-10-29 09:15:49 +1000523.It Cm PrintMotd
524Specifies whether
525.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000526should print
Damien Miller32aa1441999-10-29 09:15:49 +1000527.Pa /etc/motd
Damien Miller450a7a12000-03-26 13:04:51 +1000528when a user logs in interactively.
529(On some systems it is also printed by the shell,
Damien Miller32aa1441999-10-29 09:15:49 +1000530.Pa /etc/profile ,
Damien Miller450a7a12000-03-26 13:04:51 +1000531or equivalent.)
532The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000533.Dq yes .
Damien Miller22c77262000-04-13 12:26:34 +1000534.It Cm Protocol
535Specifies the protocol versions
536.Nm
537should support.
538The possible values are
539.Dq 1
540and
541.Dq 2 .
542Multiple versions must be comma-separated.
543The default is
544.Dq 1 .
Damien Miller32aa1441999-10-29 09:15:49 +1000545.It Cm RandomSeed
Damien Miller450a7a12000-03-26 13:04:51 +1000546Obsolete.
547Random number generation uses other techniques.
Damien Miller32aa1441999-10-29 09:15:49 +1000548.It Cm RhostsAuthentication
549Specifies whether authentication using rhosts or /etc/hosts.equiv
Damien Miller450a7a12000-03-26 13:04:51 +1000550files is sufficient.
551Normally, this method should not be permitted because it is insecure.
Damien Miller32aa1441999-10-29 09:15:49 +1000552.Cm RhostsRSAAuthentication
553should be used
554instead, because it performs RSA-based host authentication in addition
555to normal rhosts or /etc/hosts.equiv authentication.
556The default is
557.Dq no .
558.It Cm RhostsRSAAuthentication
559Specifies whether rhosts or /etc/hosts.equiv authentication together
Damien Miller450a7a12000-03-26 13:04:51 +1000560with successful RSA host authentication is allowed.
561The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100562.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000563.It Cm RSAAuthentication
Damien Miller450a7a12000-03-26 13:04:51 +1000564Specifies whether pure RSA authentication is allowed.
565The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000566.Dq yes .
Damien Millere247cc42000-05-07 12:03:14 +1000567Note that this option applies to protocol version 1 only.
Damien Miller32aa1441999-10-29 09:15:49 +1000568.It Cm ServerKeyBits
Damien Miller450a7a12000-03-26 13:04:51 +1000569Defines the number of bits in the server key.
570The minimum value is 512, and the default is 768.
Damien Miller32aa1441999-10-29 09:15:49 +1000571.It Cm SkeyAuthentication
572Specifies whether
Damien Miller22c77262000-04-13 12:26:34 +1000573.Xr skey 1
Damien Miller450a7a12000-03-26 13:04:51 +1000574authentication is allowed.
575The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000576.Dq yes .
577Note that s/key authentication is enabled only if
578.Cm PasswordAuthentication
579is allowed, too.
580.It Cm StrictModes
581Specifies whether
582.Nm
583should check file modes and ownership of the
Damien Miller450a7a12000-03-26 13:04:51 +1000584user's files and home directory before accepting login.
585This is normally desirable because novices sometimes accidentally leave their
586directory or files world-writable.
587The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000588.Dq yes .
Damien Millerf6d9e222000-06-18 14:50:44 +1000589.It Cm Subsystem
590Configures an external subsystem (e.g. file transfer daemon).
591Arguments should be a subsystem name and a command to execute upon subsystem request.
Damien Miller7b28dc52000-09-05 13:34:53 +1100592The command
593.Xr sftp-server 8
594implements the
595.Dq sftp
596file transfer subsystem.
Damien Millerf6d9e222000-06-18 14:50:44 +1000597By default no subsystems are defined.
598Note that this option applies to protocol version 2 only.
Damien Miller32aa1441999-10-29 09:15:49 +1000599.It Cm SyslogFacility
600Gives the facility code that is used when logging messages from
601.Nm sshd .
602The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
Damien Miller450a7a12000-03-26 13:04:51 +1000603LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
604The default is AUTH.
Damien Miller32aa1441999-10-29 09:15:49 +1000605.It Cm UseLogin
606Specifies whether
607.Xr login 1
Damien Millerd3a18572000-06-07 19:55:44 +1000608is used for interactive login sessions.
609Note that
610.Xr login 1
Damien Miller942da032000-08-18 13:59:06 +1000611is never used for remote command execution.
Damien Miller450a7a12000-03-26 13:04:51 +1000612The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000613.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000614.It Cm X11DisplayOffset
615Specifies the first display number available for
616.Nm sshd Ns 's
Damien Miller450a7a12000-03-26 13:04:51 +1000617X11 forwarding.
618This prevents
Damien Miller32aa1441999-10-29 09:15:49 +1000619.Nm
620from interfering with real X11 servers.
Damien Miller98c7ad62000-03-09 21:27:49 +1100621The default is 10.
Damien Miller396691a2000-01-20 22:44:08 +1100622.It Cm X11Forwarding
Damien Miller450a7a12000-03-26 13:04:51 +1000623Specifies whether X11 forwarding is permitted.
624The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100625.Dq no .
Damien Miller396691a2000-01-20 22:44:08 +1100626Note that disabling X11 forwarding does not improve security in any
627way, as users can always install their own forwarders.
Damien Millerd3a18572000-06-07 19:55:44 +1000628.It Cm XAuthLocation
629Specifies the location of the
630.Xr xauth 1
631program.
632The default is
633.Pa /usr/X11R6/bin/xauth .
Damien Miller32aa1441999-10-29 09:15:49 +1000634.El
635.Sh LOGIN PROCESS
636When a user successfully logs in,
637.Nm
638does the following:
639.Bl -enum -offset indent
640.It
641If the login is on a tty, and no command has been specified,
Damien Miller22c77262000-04-13 12:26:34 +1000642prints last login time and
Damien Miller32aa1441999-10-29 09:15:49 +1000643.Pa /etc/motd
644(unless prevented in the configuration file or by
645.Pa $HOME/.hushlogin ;
646see the
Damien Miller22c77262000-04-13 12:26:34 +1000647.Sx FILES
Damien Miller32aa1441999-10-29 09:15:49 +1000648section).
649.It
650If the login is on a tty, records login time.
651.It
652Checks
653.Pa /etc/nologin ;
654if it exists, prints contents and quits
655(unless root).
656.It
657Changes to run with normal user privileges.
658.It
659Sets up basic environment.
660.It
661Reads
662.Pa $HOME/.ssh/environment
663if it exists.
664.It
665Changes to user's home directory.
666.It
667If
668.Pa $HOME/.ssh/rc
669exists, runs it; else if
Damien Miller886c63a2000-01-20 23:13:36 +1100670.Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +1000671exists, runs
Damien Miller450a7a12000-03-26 13:04:51 +1000672it; otherwise runs xauth.
673The
Damien Miller32aa1441999-10-29 09:15:49 +1000674.Dq rc
675files are given the X11
676authentication protocol and cookie in standard input.
677.It
678Runs user's shell or command.
679.El
680.Sh AUTHORIZED_KEYS FILE FORMAT
Damien Miller22c77262000-04-13 12:26:34 +1000681The
Damien Miller32aa1441999-10-29 09:15:49 +1000682.Pa $HOME/.ssh/authorized_keys
683file lists the RSA keys that are
Damien Millere247cc42000-05-07 12:03:14 +1000684permitted for RSA authentication in SSH protocols 1.3 and 1.5
Damien Miller30c3d422000-05-09 11:02:59 +1000685Similarly, the
Damien Millere247cc42000-05-07 12:03:14 +1000686.Pa $HOME/.ssh/authorized_keys2
687file lists the DSA keys that are
688permitted for DSA authentication in SSH protocol 2.0.
Damien Miller450a7a12000-03-26 13:04:51 +1000689Each line of the file contains one
Damien Miller32aa1441999-10-29 09:15:49 +1000690key (empty lines and lines starting with a
691.Ql #
692are ignored as
Damien Miller450a7a12000-03-26 13:04:51 +1000693comments).
694Each line consists of the following fields, separated by
695spaces: options, bits, exponent, modulus, comment.
696The options field
Damien Miller32aa1441999-10-29 09:15:49 +1000697is optional; its presence is determined by whether the line starts
698with a number or not (the option field never starts with a number).
699The bits, exponent, modulus and comment fields give the RSA key; the
700comment field is not used for anything (but may be convenient for the
701user to identify the key).
702.Pp
703Note that lines in this file are usually several hundred bytes long
Damien Miller450a7a12000-03-26 13:04:51 +1000704(because of the size of the RSA key modulus).
705You don't want to type them in; instead, copy the
Damien Miller32aa1441999-10-29 09:15:49 +1000706.Pa identity.pub
707file and edit it.
708.Pp
Damien Miller942da032000-08-18 13:59:06 +1000709The options (if present) consist of comma-separated option
Damien Miller450a7a12000-03-26 13:04:51 +1000710specifications.
711No spaces are permitted, except within double quotes.
Damien Miller32aa1441999-10-29 09:15:49 +1000712The following option specifications are supported:
713.Bl -tag -width Ds
714.It Cm from="pattern-list"
715Specifies that in addition to RSA authentication, the canonical name
716of the remote host must be present in the comma-separated list of
Damien Miller450a7a12000-03-26 13:04:51 +1000717patterns
718.Pf ( Ql *
719and
720.Ql ?
721serve as wildcards).
722The list may also contain
723patterns negated by prefixing them with
724.Ql ! ;
725if the canonical host name matches a negated pattern, the key is not accepted.
726The purpose
Damien Miller32aa1441999-10-29 09:15:49 +1000727of this option is to optionally increase security: RSA authentication
728by itself does not trust the network or name servers or anything (but
729the key); however, if somebody somehow steals the key, the key
Damien Miller450a7a12000-03-26 13:04:51 +1000730permits an intruder to log in from anywhere in the world.
731This additional option makes using a stolen key more difficult (name
Damien Miller32aa1441999-10-29 09:15:49 +1000732servers and/or routers would have to be compromised in addition to
733just the key).
734.It Cm command="command"
735Specifies that the command is executed whenever this key is used for
Damien Miller450a7a12000-03-26 13:04:51 +1000736authentication.
737The command supplied by the user (if any) is ignored.
Damien Miller32aa1441999-10-29 09:15:49 +1000738The command is run on a pty if the connection requests a pty;
Damien Miller450a7a12000-03-26 13:04:51 +1000739otherwise it is run without a tty.
740A quote may be included in the command by quoting it with a backslash.
741This option might be useful
742to restrict certain RSA keys to perform just a specific operation.
743An example might be a key that permits remote backups but nothing else.
Damien Miller30c3d422000-05-09 11:02:59 +1000744Note that the client may specify TCP/IP and/or X11
745forwarding unless they are explicitly prohibited.
Damien Miller32aa1441999-10-29 09:15:49 +1000746.It Cm environment="NAME=value"
747Specifies that the string is to be added to the environment when
Damien Miller450a7a12000-03-26 13:04:51 +1000748logging in using this key.
749Environment variables set this way
750override other default environment values.
751Multiple options of this type are permitted.
Damien Miller32aa1441999-10-29 09:15:49 +1000752.It Cm no-port-forwarding
753Forbids TCP/IP forwarding when this key is used for authentication.
Damien Miller450a7a12000-03-26 13:04:51 +1000754Any port forward requests by the client will return an error.
755This might be used, e.g., in connection with the
Damien Miller32aa1441999-10-29 09:15:49 +1000756.Cm command
757option.
758.It Cm no-X11-forwarding
759Forbids X11 forwarding when this key is used for authentication.
760Any X11 forward requests by the client will return an error.
761.It Cm no-agent-forwarding
762Forbids authentication agent forwarding when this key is used for
763authentication.
764.It Cm no-pty
765Prevents tty allocation (a request to allocate a pty will fail).
766.El
767.Ss Examples
7681024 33 12121.\|.\|.\|312314325 ylo@foo.bar
769.Pp
770from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula
771.Pp
772command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
773.Sh SSH_KNOWN_HOSTS FILE FORMAT
Damien Miller22c77262000-04-13 12:26:34 +1000774The
Damien Millere247cc42000-05-07 12:03:14 +1000775.Pa /etc/ssh_known_hosts ,
776.Pa /etc/ssh_known_hosts2 ,
777.Pa $HOME/.ssh/known_hosts ,
Damien Miller22c77262000-04-13 12:26:34 +1000778and
Damien Millere247cc42000-05-07 12:03:14 +1000779.Pa $HOME/.ssh/known_hosts2
Damien Miller450a7a12000-03-26 13:04:51 +1000780files contain host public keys for all known hosts.
781The global file should
782be prepared by the administrator (optional), and the per-user file is
Damien Miller942da032000-08-18 13:59:06 +1000783maintained automatically: whenever the user connects from an unknown host
Damien Miller450a7a12000-03-26 13:04:51 +1000784its key is added to the per-user file.
Damien Miller32aa1441999-10-29 09:15:49 +1000785.Pp
786Each line in these files contains the following fields: hostnames,
Damien Miller450a7a12000-03-26 13:04:51 +1000787bits, exponent, modulus, comment.
788The fields are separated by spaces.
Damien Miller32aa1441999-10-29 09:15:49 +1000789.Pp
790Hostnames is a comma-separated list of patterns ('*' and '?' act as
791wildcards); each pattern in turn is matched against the canonical host
792name (when authenticating a client) or against the user-supplied
Damien Miller450a7a12000-03-26 13:04:51 +1000793name (when authenticating a server).
794A pattern may also be preceded by
Damien Miller32aa1441999-10-29 09:15:49 +1000795.Ql !
796to indicate negation: if the host name matches a negated
797pattern, it is not accepted (by that line) even if it matched another
798pattern on the line.
799.Pp
Damien Millere247cc42000-05-07 12:03:14 +1000800Bits, exponent, and modulus are taken directly from the RSA host key; they
Damien Miller32aa1441999-10-29 09:15:49 +1000801can be obtained, e.g., from
Damien Miller886c63a2000-01-20 23:13:36 +1100802.Pa /etc/ssh_host_key.pub .
Damien Miller32aa1441999-10-29 09:15:49 +1000803The optional comment field continues to the end of the line, and is not used.
804.Pp
805Lines starting with
806.Ql #
807and empty lines are ignored as comments.
808.Pp
809When performing host authentication, authentication is accepted if any
Damien Miller450a7a12000-03-26 13:04:51 +1000810matching line has the proper key.
811It is thus permissible (but not
Damien Miller32aa1441999-10-29 09:15:49 +1000812recommended) to have several lines or different host keys for the same
Damien Miller450a7a12000-03-26 13:04:51 +1000813names.
814This will inevitably happen when short forms of host names
815from different domains are put in the file.
816It is possible
Damien Miller32aa1441999-10-29 09:15:49 +1000817that the files contain conflicting information; authentication is
818accepted if valid information can be found from either file.
819.Pp
820Note that the lines in these files are typically hundreds of characters
821long, and you definitely don't want to type in the host keys by hand.
822Rather, generate them by a script
Damien Miller22c77262000-04-13 12:26:34 +1000823or by taking
Damien Miller886c63a2000-01-20 23:13:36 +1100824.Pa /etc/ssh_host_key.pub
Damien Miller32aa1441999-10-29 09:15:49 +1000825and adding the host names at the front.
826.Ss Examples
827closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
828.Sh FILES
829.Bl -tag -width Ds
Damien Miller886c63a2000-01-20 23:13:36 +1100830.It Pa /etc/sshd_config
Damien Miller32aa1441999-10-29 09:15:49 +1000831Contains configuration data for
832.Nm sshd .
833This file should be writable by root only, but it is recommended
834(though not necessary) that it be world-readable.
Damien Miller886c63a2000-01-20 23:13:36 +1100835.It Pa /etc/ssh_host_key
Damien Miller32aa1441999-10-29 09:15:49 +1000836Contains the private part of the host key.
837This file should only be owned by root, readable only by root, and not
838accessible to others.
839Note that
840.Nm
841does not start if this file is group/world-accessible.
Damien Miller886c63a2000-01-20 23:13:36 +1100842.It Pa /etc/ssh_host_key.pub
Damien Miller32aa1441999-10-29 09:15:49 +1000843Contains the public part of the host key.
844This file should be world-readable but writable only by
Damien Miller450a7a12000-03-26 13:04:51 +1000845root.
846Its contents should match the private part.
847This file is not
Damien Miller32aa1441999-10-29 09:15:49 +1000848really used for anything; it is only provided for the convenience of
849the user so its contents can be copied to known hosts files.
850These two files are created using
851.Xr ssh-keygen 1 .
Damien Miller886c63a2000-01-20 23:13:36 +1100852.It Pa /var/run/sshd.pid
Damien Miller32aa1441999-10-29 09:15:49 +1000853Contains the process ID of the
854.Nm
855listening for connections (if there are several daemons running
856concurrently for different ports, this contains the pid of the one
Damien Miller450a7a12000-03-26 13:04:51 +1000857started last).
Damien Miller942da032000-08-18 13:59:06 +1000858The content of this file is not sensitive; it can be world-readable.
Damien Miller32aa1441999-10-29 09:15:49 +1000859.It Pa $HOME/.ssh/authorized_keys
860Lists the RSA keys that can be used to log into the user's account.
861This file must be readable by root (which may on some machines imply
862it being world-readable if the user's home directory resides on an NFS
Damien Miller450a7a12000-03-26 13:04:51 +1000863volume).
864It is recommended that it not be accessible by others.
865The format of this file is described above.
Damien Millere247cc42000-05-07 12:03:14 +1000866Users will place the contents of their
867.Pa identity.pub
868files into this file, as described in
869.Xr ssh-keygen 1 .
870.It Pa $HOME/.ssh/authorized_keys2
871Lists the DSA keys that can be used to log into the user's account.
872This file must be readable by root (which may on some machines imply
873it being world-readable if the user's home directory resides on an NFS
874volume).
875It is recommended that it not be accessible by others.
876The format of this file is described above.
877Users will place the contents of their
878.Pa id_dsa.pub
879files into this file, as described in
880.Xr ssh-keygen 1 .
Damien Miller886c63a2000-01-20 23:13:36 +1100881.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"
Damien Miller5ce662a1999-11-11 17:57:39 +1100882These files are consulted when using rhosts with RSA host
Damien Miller450a7a12000-03-26 13:04:51 +1000883authentication to check the public key of the host.
884The key must be listed in one of these files to be accepted.
Damien Miller33e511e1999-11-11 11:43:13 +1100885The client uses the same files
Damien Miller942da032000-08-18 13:59:06 +1000886to verify that the remote host is the one it intended to connect.
Damien Miller450a7a12000-03-26 13:04:51 +1000887These files should be writable only by root/the owner.
Damien Miller886c63a2000-01-20 23:13:36 +1100888.Pa /etc/ssh_known_hosts
Damien Miller32aa1441999-10-29 09:15:49 +1000889should be world-readable, and
890.Pa $HOME/.ssh/known_hosts
891can but need not be world-readable.
892.It Pa /etc/nologin
Damien Miller22c77262000-04-13 12:26:34 +1000893If this file exists,
Damien Miller32aa1441999-10-29 09:15:49 +1000894.Nm
Damien Miller450a7a12000-03-26 13:04:51 +1000895refuses to let anyone except root log in.
896The contents of the file
Damien Miller32aa1441999-10-29 09:15:49 +1000897are displayed to anyone trying to log in, and non-root connections are
Damien Miller450a7a12000-03-26 13:04:51 +1000898refused.
899The file should be world-readable.
Damien Miller32aa1441999-10-29 09:15:49 +1000900.It Pa /etc/hosts.allow, /etc/hosts.deny
901If compiled with
902.Sy LIBWRAP
903support, tcp-wrappers access controls may be defined here as described in
904.Xr hosts_access 5 .
905.It Pa $HOME/.rhosts
906This file contains host-username pairs, separated by a space, one per
Damien Miller450a7a12000-03-26 13:04:51 +1000907line.
908The given user on the corresponding host is permitted to log in
909without password.
910The same file is used by rlogind and rshd.
Damien Miller32aa1441999-10-29 09:15:49 +1000911The file must
912be writable only by the user; it is recommended that it not be
913accessible by others.
914.Pp
Damien Miller450a7a12000-03-26 13:04:51 +1000915If is also possible to use netgroups in the file.
916Either host or user
Damien Miller32aa1441999-10-29 09:15:49 +1000917name may be of the form +@groupname to specify all hosts or all users
918in the group.
919.It Pa $HOME/.shosts
920For ssh,
921this file is exactly the same as for
922.Pa .rhosts .
923However, this file is
924not used by rlogin and rshd, so using this permits access using SSH only.
Damien Miller942da032000-08-18 13:59:06 +1000925.It Pa /etc/hosts.equiv
Damien Miller32aa1441999-10-29 09:15:49 +1000926This file is used during
927.Pa .rhosts
Damien Miller450a7a12000-03-26 13:04:51 +1000928authentication.
929In the simplest form, this file contains host names, one per line.
930Users on
Damien Miller32aa1441999-10-29 09:15:49 +1000931those hosts are permitted to log in without a password, provided they
Damien Miller450a7a12000-03-26 13:04:51 +1000932have the same user name on both machines.
933The host name may also be
Damien Miller32aa1441999-10-29 09:15:49 +1000934followed by a user name; such users are permitted to log in as
935.Em any
Damien Miller450a7a12000-03-26 13:04:51 +1000936user on this machine (except root).
937Additionally, the syntax
Damien Miller32aa1441999-10-29 09:15:49 +1000938.Dq +@group
Damien Miller450a7a12000-03-26 13:04:51 +1000939can be used to specify netgroups.
940Negated entries start with
Damien Miller32aa1441999-10-29 09:15:49 +1000941.Ql \&- .
942.Pp
943If the client host/user is successfully matched in this file, login is
944automatically permitted provided the client and server user names are the
Damien Miller450a7a12000-03-26 13:04:51 +1000945same.
946Additionally, successful RSA host authentication is normally required.
947This file must be writable only by root; it is recommended
Damien Miller32aa1441999-10-29 09:15:49 +1000948that it be world-readable.
949.Pp
950.Sy "Warning: It is almost never a good idea to use user names in"
951.Pa hosts.equiv .
952Beware that it really means that the named user(s) can log in as
953.Em anybody ,
954which includes bin, daemon, adm, and other accounts that own critical
Damien Miller450a7a12000-03-26 13:04:51 +1000955binaries and directories.
956Using a user name practically grants the user root access.
957The only valid use for user names that I can think
Damien Miller32aa1441999-10-29 09:15:49 +1000958of is in negative entries.
959.Pp
960Note that this warning also applies to rsh/rlogin.
Damien Miller886c63a2000-01-20 23:13:36 +1100961.It Pa /etc/shosts.equiv
Damien Miller32aa1441999-10-29 09:15:49 +1000962This is processed exactly as
963.Pa /etc/hosts.equiv .
964However, this file may be useful in environments that want to run both
965rsh/rlogin and ssh.
966.It Pa $HOME/.ssh/environment
Damien Miller450a7a12000-03-26 13:04:51 +1000967This file is read into the environment at login (if it exists).
968It can only contain empty lines, comment lines (that start with
Damien Miller32aa1441999-10-29 09:15:49 +1000969.Ql # ) ,
Damien Miller450a7a12000-03-26 13:04:51 +1000970and assignment lines of the form name=value.
971The file should be writable
Damien Miller32aa1441999-10-29 09:15:49 +1000972only by the user; it need not be readable by anyone else.
973.It Pa $HOME/.ssh/rc
974If this file exists, it is run with /bin/sh after reading the
Damien Miller450a7a12000-03-26 13:04:51 +1000975environment files but before starting the user's shell or command.
976If X11 spoofing is in use, this will receive the "proto cookie" pair in
Damien Miller32aa1441999-10-29 09:15:49 +1000977standard input (and
978.Ev DISPLAY
Damien Miller450a7a12000-03-26 13:04:51 +1000979in environment).
980This must call
Damien Miller32aa1441999-10-29 09:15:49 +1000981.Xr xauth 1
982in that case.
983.Pp
984The primary purpose of this file is to run any initialization routines
985which may be needed before the user's home directory becomes
986accessible; AFS is a particular example of such an environment.
987.Pp
988This file will probably contain some initialization code followed by
989something similar to: "if read proto cookie; then echo add $DISPLAY
990$proto $cookie | xauth -q -; fi".
991.Pp
992If this file does not exist,
Damien Miller886c63a2000-01-20 23:13:36 +1100993.Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +1000994is run, and if that
995does not exist either, xauth is used to store the cookie.
996.Pp
997This file should be writable only by the user, and need not be
998readable by anyone else.
Damien Miller886c63a2000-01-20 23:13:36 +1100999.It Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +10001000Like
1001.Pa $HOME/.ssh/rc .
1002This can be used to specify
Damien Miller450a7a12000-03-26 13:04:51 +10001003machine-specific login-time initializations globally.
1004This file should be writable only by root, and should be world-readable.
Damien Miller37023962000-07-11 17:31:38 +10001005.El
Damien Miller32aa1441999-10-29 09:15:49 +10001006.Sh AUTHOR
Damien Miller32aa1441999-10-29 09:15:49 +10001007OpenSSH
Damien Miller98c7ad62000-03-09 21:27:49 +11001008is a derivative of the original (free) ssh 1.2.12 release by Tatu Ylonen,
Damien Miller450a7a12000-03-26 13:04:51 +10001009but with bugs removed and newer features re-added.
1010Rapidly after the
Damien Miller98c7ad62000-03-09 21:27:49 +110010111.2.12 release, newer versions of the original ssh bore successively
1012more restrictive licenses, and thus demand for a free version was born.
Damien Millere247cc42000-05-07 12:03:14 +10001013.Pp
Damien Miller98c7ad62000-03-09 21:27:49 +11001014This version of OpenSSH
Damien Miller32aa1441999-10-29 09:15:49 +10001015.Bl -bullet
1016.It
Damien Millercfabe862000-04-20 23:27:27 +10001017has all components of a restrictive nature (i.e., patents)
Damien Miller32aa1441999-10-29 09:15:49 +10001018directly removed from the source code; any licensed or patented components
1019are chosen from
1020external libraries.
1021.It
Damien Millere247cc42000-05-07 12:03:14 +10001022has been updated to support SSH protocol 1.5 and 2, making it compatible with
1023all other SSH clients and servers.
Damien Miller32aa1441999-10-29 09:15:49 +10001024.It
Damien Miller22c77262000-04-13 12:26:34 +10001025contains added support for
Damien Miller32aa1441999-10-29 09:15:49 +10001026.Xr kerberos 8
1027authentication and ticket passing.
1028.It
1029supports one-time password authentication with
1030.Xr skey 1 .
1031.El
Damien Millere247cc42000-05-07 12:03:14 +10001032.Pp
1033OpenSSH has been created by Aaron Campbell, Bob Beck, Markus Friedl,
1034Niels Provos, Theo de Raadt, and Dug Song.
1035.Pp
1036The support for SSH protocol 2 was written by Markus Friedl.
Damien Miller32aa1441999-10-29 09:15:49 +10001037.Sh SEE ALSO
Damien Miller32aa1441999-10-29 09:15:49 +10001038.Xr scp 1 ,
Damien Miller7b28dc52000-09-05 13:34:53 +11001039.Xr sftp-server 8 ,
Damien Miller32aa1441999-10-29 09:15:49 +10001040.Xr ssh 1 ,
1041.Xr ssh-add 1 ,
1042.Xr ssh-agent 1 ,
1043.Xr ssh-keygen 1 ,
Damien Millerb38eff82000-04-01 11:09:21 +10001044.Xr rlogin 1 ,
1045.Xr rsh 1