blob: 29ad2144a0a37ef7d20db326fdd97907622338c9 [file] [log] [blame]
Damien Miller32aa1441999-10-29 09:15:49 +10001.\" -*- nroff -*-
2.\"
Damien Miller32aa1441999-10-29 09:15:49 +10003.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
Damien Miller32aa1441999-10-29 09:15:49 +10004.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5.\" All rights reserved
6.\"
Damien Millere4340be2000-09-16 13:29:08 +11007.\" 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".
Damien Miller32aa1441999-10-29 09:15:49 +100012.\"
Damien Millere4340be2000-09-16 13:29:08 +110013.\" 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.
Damien Miller32aa1441999-10-29 09:15:49 +100036.\"
37.Dd September 25, 1999
38.Dt SSHD 8
39.Os
40.Sh NAME
41.Nm sshd
42.Nd secure shell daemon
43.Sh SYNOPSIS
44.Nm sshd
Damien Miller34132e52000-01-14 15:45:46 +110045.Op Fl diqQ46
Damien Miller32aa1441999-10-29 09:15:49 +100046.Op Fl b Ar bits
47.Op Fl f Ar config_file
48.Op Fl g Ar login_grace_time
49.Op Fl h Ar host_key_file
50.Op Fl k Ar key_gen_time
51.Op Fl p Ar port
Damien Miller942da032000-08-18 13:59:06 +100052.Op Fl u Ar len
Damien Miller95def091999-11-25 00:26:21 +110053.Op Fl V Ar client_protocol_id
Damien Miller22c77262000-04-13 12:26:34 +100054.Sh DESCRIPTION
Damien Miller32aa1441999-10-29 09:15:49 +100055.Nm
Damien Miller22c77262000-04-13 12:26:34 +100056(Secure Shell Daemon) is the daemon program for
Damien Miller32aa1441999-10-29 09:15:49 +100057.Xr ssh 1 .
Damien Miller35dabd02000-05-01 21:10:33 +100058Together these programs replace rlogin and rsh, and
Damien Miller32aa1441999-10-29 09:15:49 +100059provide secure encrypted communications between two untrusted hosts
Damien Miller450a7a12000-03-26 13:04:51 +100060over an insecure network.
61The programs are intended to be as easy to
Damien Miller32aa1441999-10-29 09:15:49 +100062install and use as possible.
63.Pp
64.Nm
Damien Miller450a7a12000-03-26 13:04:51 +100065is the daemon that listens for connections from clients.
Damien Miller22c77262000-04-13 12:26:34 +100066It is normally started at boot from
Damien Miller32aa1441999-10-29 09:15:49 +100067.Pa /etc/rc .
68It forks a new
Damien Miller450a7a12000-03-26 13:04:51 +100069daemon for each incoming connection.
70The forked daemons handle
Damien Miller32aa1441999-10-29 09:15:49 +100071key exchange, encryption, authentication, command execution,
72and data exchange.
Damien Millere247cc42000-05-07 12:03:14 +100073This implementation of
74.Nm
75supports both SSH protocol version 1 and 2 simultaneously.
Damien Miller32aa1441999-10-29 09:15:49 +100076.Nm
Damien Miller450a7a12000-03-26 13:04:51 +100077works as follows.
Damien Millere247cc42000-05-07 12:03:14 +100078.Pp
79.Ss SSH protocol version 1
80.Pp
Damien Miller450a7a12000-03-26 13:04:51 +100081Each host has a host-specific RSA key
82(normally 1024 bits) used to identify the host.
83Additionally, when
Damien Miller32aa1441999-10-29 09:15:49 +100084the daemon starts, it generates a server RSA key (normally 768 bits).
85This key is normally regenerated every hour if it has been used, and
86is never stored on disk.
87.Pp
Damien Miller35dabd02000-05-01 21:10:33 +100088Whenever a client connects the daemon responds with its public
89host and server keys.
Damien Miller450a7a12000-03-26 13:04:51 +100090The client compares the
Damien Millere247cc42000-05-07 12:03:14 +100091RSA host key against its own database to verify that it has not changed.
Damien Miller450a7a12000-03-26 13:04:51 +100092The client then generates a 256 bit random number.
93It encrypts this
Damien Miller32aa1441999-10-29 09:15:49 +100094random number using both the host key and the server key, and sends
Damien Miller450a7a12000-03-26 13:04:51 +100095the encrypted number to the server.
Damien Miller35dabd02000-05-01 21:10:33 +100096Both sides then use this
Damien Miller32aa1441999-10-29 09:15:49 +100097random number as a session key which is used to encrypt all further
Damien Miller450a7a12000-03-26 13:04:51 +100098communications in the session.
99The rest of the session is encrypted
Damien Miller35dabd02000-05-01 21:10:33 +1000100using a conventional cipher, currently Blowfish or 3DES, with 3DES
Damien Millerb38eff82000-04-01 11:09:21 +1000101being used by default.
Damien Miller450a7a12000-03-26 13:04:51 +1000102The client selects the encryption algorithm
Damien Miller32aa1441999-10-29 09:15:49 +1000103to use from those offered by the server.
104.Pp
Damien Miller450a7a12000-03-26 13:04:51 +1000105Next, the server and the client enter an authentication dialog.
106The client tries to authenticate itself using
Damien Miller32aa1441999-10-29 09:15:49 +1000107.Pa .rhosts
108authentication,
109.Pa .rhosts
110authentication combined with RSA host
111authentication, RSA challenge-response authentication, or password
112based authentication.
113.Pp
114Rhosts authentication is normally disabled
115because it is fundamentally insecure, but can be enabled in the server
Damien Miller450a7a12000-03-26 13:04:51 +1000116configuration file if desired.
117System security is not improved unless
Damien Miller32aa1441999-10-29 09:15:49 +1000118.Xr rshd 8 ,
119.Xr rlogind 8 ,
120.Xr rexecd 8 ,
121and
122.Xr rexd 8
123are disabled (thus completely disabling
124.Xr rlogin 1
125and
126.Xr rsh 1
Damien Miller35dabd02000-05-01 21:10:33 +1000127into the machine).
Damien Miller32aa1441999-10-29 09:15:49 +1000128.Pp
Damien Millere247cc42000-05-07 12:03:14 +1000129.Ss SSH protocol version 2
130.Pp
Damien Miller942da032000-08-18 13:59:06 +1000131Version 2 works similarly:
Damien Millere247cc42000-05-07 12:03:14 +1000132Each host has a host-specific DSA key used to identify the host.
133However, when the daemon starts, it does not generate a server key.
134Forward security is provided through a Diffie-Hellman key agreement.
135This key agreement results in a shared session key.
136The rest of the session is encrypted
137using a symmetric cipher, currently
138Blowfish, 3DES or CAST128 in CBC mode or Arcfour.
139The client selects the encryption algorithm
140to use from those offered by the server.
141Additionally, session integrity is provided
Damien Miller30c3d422000-05-09 11:02:59 +1000142through a cryptographic message authentication code
Damien Millere247cc42000-05-07 12:03:14 +1000143(hmac-sha1 or hmac-md5).
144.Pp
145Protocol version 2 provides a public key based
146user authentication method (DSAAuthentication)
147and conventional password authentication.
148.Pp
149.Ss Command execution and data forwarding
150.Pp
Damien Miller32aa1441999-10-29 09:15:49 +1000151If the client successfully authenticates itself, a dialog for
Damien Miller450a7a12000-03-26 13:04:51 +1000152preparing the session is entered.
153At this time the client may request
Damien Miller32aa1441999-10-29 09:15:49 +1000154things like allocating a pseudo-tty, forwarding X11 connections,
155forwarding TCP/IP connections, or forwarding the authentication agent
156connection over the secure channel.
157.Pp
158Finally, the client either requests a shell or execution of a command.
Damien Miller450a7a12000-03-26 13:04:51 +1000159The sides then enter session mode.
160In this mode, either side may send
Damien Miller32aa1441999-10-29 09:15:49 +1000161data at any time, and such data is forwarded to/from the shell or
162command on the server side, and the user terminal in the client side.
163.Pp
164When the user program terminates and all forwarded X11 and other
165connections have been closed, the server sends command exit status to
166the client, and both sides exit.
167.Pp
168.Nm
169can be configured using command-line options or a configuration
Damien Miller450a7a12000-03-26 13:04:51 +1000170file.
171Command-line options override values specified in the
Damien Miller32aa1441999-10-29 09:15:49 +1000172configuration file.
173.Pp
Damien Miller6162d121999-11-21 13:23:52 +1100174.Nm
175rereads its configuration file when it receives a hangup signal,
176.Dv SIGHUP .
177.Pp
Damien Miller32aa1441999-10-29 09:15:49 +1000178The options are as follows:
179.Bl -tag -width Ds
180.It Fl b Ar bits
181Specifies the number of bits in the server key (default 768).
182.Pp
183.It Fl d
Damien Miller450a7a12000-03-26 13:04:51 +1000184Debug mode.
185The server sends verbose debug output to the system
186log, and does not put itself in the background.
187The server also will not fork and will only process one connection.
188This option is only intended for debugging for the server.
Damien Miller874d77b2000-10-14 16:23:11 +1100189Multiple -d options increases the debugging level.
190Maximum is 3.
Damien Miller32aa1441999-10-29 09:15:49 +1000191.It Fl f Ar configuration_file
Damien Miller450a7a12000-03-26 13:04:51 +1000192Specifies the name of the configuration file.
193The default is
Damien Miller886c63a2000-01-20 23:13:36 +1100194.Pa /etc/sshd_config .
Damien Miller32aa1441999-10-29 09:15:49 +1000195.Nm
196refuses to start if there is no configuration file.
197.It Fl g Ar login_grace_time
198Gives the grace time for clients to authenticate themselves (default
Damien Miller450a7a12000-03-26 13:04:51 +1000199300 seconds).
200If the client fails to authenticate the user within
201this many seconds, the server disconnects and exits.
202A value of zero indicates no limit.
Damien Miller32aa1441999-10-29 09:15:49 +1000203.It Fl h Ar host_key_file
Damien Millere247cc42000-05-07 12:03:14 +1000204Specifies the file from which the RSA host key is read (default
Damien Miller886c63a2000-01-20 23:13:36 +1100205.Pa /etc/ssh_host_key ) .
Damien Miller32aa1441999-10-29 09:15:49 +1000206This option must be given if
207.Nm
208is not run as root (as the normal
209host file is normally not readable by anyone but root).
210.It Fl i
211Specifies that
212.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000213is being run from inetd.
Damien Miller32aa1441999-10-29 09:15:49 +1000214.Nm
215is normally not run
216from inetd because it needs to generate the server key before it can
Damien Miller450a7a12000-03-26 13:04:51 +1000217respond to the client, and this may take tens of seconds.
218Clients would have to wait too long if the key was regenerated every time.
Damien Miller7684ee12000-03-17 23:40:15 +1100219However, with small key sizes (e.g., 512) using
Damien Miller32aa1441999-10-29 09:15:49 +1000220.Nm
221from inetd may
222be feasible.
223.It Fl k Ar key_gen_time
224Specifies how often the server key is regenerated (default 3600
Damien Miller450a7a12000-03-26 13:04:51 +1000225seconds, or one hour).
226The motivation for regenerating the key fairly
Damien Miller32aa1441999-10-29 09:15:49 +1000227often is that the key is not stored anywhere, and after about an hour,
228it becomes impossible to recover the key for decrypting intercepted
229communications even if the machine is cracked into or physically
Damien Miller450a7a12000-03-26 13:04:51 +1000230seized.
231A value of zero indicates that the key will never be regenerated.
Damien Miller32aa1441999-10-29 09:15:49 +1000232.It Fl p Ar port
233Specifies the port on which the server listens for connections
234(default 22).
235.It Fl q
Damien Miller450a7a12000-03-26 13:04:51 +1000236Quiet mode.
237Nothing is sent to the system log.
238Normally the beginning,
Damien Miller32aa1441999-10-29 09:15:49 +1000239authentication, and termination of each connection is logged.
Damien Miller942da032000-08-18 13:59:06 +1000240.It Fl u Ar len
241This option is used to specify the size of the field
242in the
243.Li utmp
244structure that holds the remote host name.
245If the resolved host name is longer than
246.Ar len ,
247the dotted decimal value will be used instead.
248This allows hosts with very long host names that
249overflow this field to still be uniquely identified.
250Specifying
251.Fl u0
252indicates that only dotted decimal addresses
253should be put into the
254.Pa utmp
255file.
Damien Miller32aa1441999-10-29 09:15:49 +1000256.It Fl Q
257Do not print an error message if RSA support is missing.
Damien Miller95def091999-11-25 00:26:21 +1100258.It Fl V Ar client_protocol_id
Damien Miller874d77b2000-10-14 16:23:11 +1100259SSH-2 compatibility mode.
Damien Miller35dabd02000-05-01 21:10:33 +1000260When this option is specified
Damien Miller95def091999-11-25 00:26:21 +1100261.Nm
Damien Miller35dabd02000-05-01 21:10:33 +1000262assumes the client has sent the supplied version string
Damien Miller95def091999-11-25 00:26:21 +1100263and skips the
264Protocol Version Identification Exchange.
Damien Miller874d77b2000-10-14 16:23:11 +1100265This option is not intended to be called directly.
Damien Miller34132e52000-01-14 15:45:46 +1100266.It Fl 4
267Forces
268.Nm
269to use IPv4 addresses only.
270.It Fl 6
271Forces
272.Nm
273to use IPv6 addresses only.
Damien Miller32aa1441999-10-29 09:15:49 +1000274.El
275.Sh CONFIGURATION FILE
276.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000277reads configuration data from
Damien Miller886c63a2000-01-20 23:13:36 +1100278.Pa /etc/sshd_config
Damien Miller32aa1441999-10-29 09:15:49 +1000279(or the file specified with
280.Fl f
Damien Miller450a7a12000-03-26 13:04:51 +1000281on the command line).
282The file contains keyword-value pairs, one per line.
283Lines starting with
Damien Miller32aa1441999-10-29 09:15:49 +1000284.Ql #
285and empty lines are interpreted as comments.
286.Pp
287The following keywords are possible.
288.Bl -tag -width Ds
289.It Cm AFSTokenPassing
Damien Miller450a7a12000-03-26 13:04:51 +1000290Specifies whether an AFS token may be forwarded to the server.
291Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000292.Dq yes .
293.It Cm AllowGroups
294This keyword can be followed by a number of group names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000295by spaces.
296If specified, login is allowed only for users whose primary
Damien Miller32aa1441999-10-29 09:15:49 +1000297group matches one of the patterns.
298.Ql \&*
299and
300.Ql ?
301can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000302wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000303Only group names are valid; a numerical group ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000304By default login is allowed regardless of the primary group.
Damien Miller32aa1441999-10-29 09:15:49 +1000305.Pp
306.It Cm AllowUsers
307This keyword can be followed by a number of user names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000308by spaces.
309If specified, login is allowed only for users names that
Damien Miller32aa1441999-10-29 09:15:49 +1000310match one of the patterns.
311.Ql \&*
312and
313.Ql ?
314can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000315wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000316Only user names are valid; a numerical user ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000317By default login is allowed regardless of the user name.
Damien Miller32aa1441999-10-29 09:15:49 +1000318.Pp
Damien Miller22c77262000-04-13 12:26:34 +1000319.It Cm Ciphers
320Specifies the ciphers allowed for protocol version 2.
321Multiple ciphers must be comma-separated.
322The default is
Damien Miller30c3d422000-05-09 11:02:59 +1000323.Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc .
Damien Miller32aa1441999-10-29 09:15:49 +1000324.It Cm CheckMail
325Specifies whether
326.Nm
327should check for new mail for interactive logins.
328The default is
329.Dq no .
330.It Cm DenyGroups
331This keyword can be followed by a number of group names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000332by spaces.
333Users whose primary group matches one of the patterns
Damien Miller32aa1441999-10-29 09:15:49 +1000334aren't allowed to log in.
335.Ql \&*
336and
337.Ql ?
338can be used as
Damien Miller450a7a12000-03-26 13:04:51 +1000339wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000340Only group names are valid; a numerical group ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000341By default login is allowed regardless of the primary group.
Damien Miller32aa1441999-10-29 09:15:49 +1000342.Pp
343.It Cm DenyUsers
344This keyword can be followed by a number of user names, separated
Damien Miller450a7a12000-03-26 13:04:51 +1000345by spaces.
346Login is disallowed for user names that match one of the patterns.
Damien Miller32aa1441999-10-29 09:15:49 +1000347.Ql \&*
348and
349.Ql ?
Damien Miller450a7a12000-03-26 13:04:51 +1000350can be used as wildcards in the patterns.
Damien Miller942da032000-08-18 13:59:06 +1000351Only user names are valid; a numerical user ID isn't recognized.
Damien Miller450a7a12000-03-26 13:04:51 +1000352By default login is allowed regardless of the user name.
Damien Millere247cc42000-05-07 12:03:14 +1000353.It Cm DSAAuthentication
354Specifies whether DSA authentication is allowed.
355The default is
356.Dq yes .
357Note that this option applies to protocol version 2 only.
358.It Cm GatewayPorts
359Specifies whether remote hosts are allowed to connect to ports
360forwarded for the client.
361The argument must be
362.Dq yes
363or
364.Dq no .
365The default is
366.Dq no .
Damien Miller942da032000-08-18 13:59:06 +1000367.It Cm HostDSAKey
Damien Millere247cc42000-05-07 12:03:14 +1000368Specifies the file containing the private DSA host key (default
369.Pa /etc/ssh_host_dsa_key )
370used by SSH protocol 2.0.
Damien Miller32aa1441999-10-29 09:15:49 +1000371Note that
372.Nm
Damien Miller30c3d422000-05-09 11:02:59 +1000373disables protocol 2.0 if this file is group/world-accessible.
Damien Millere247cc42000-05-07 12:03:14 +1000374.It Cm HostKey
375Specifies the file containing the private RSA host key (default
376.Pa /etc/ssh_host_key )
377used by SSH protocols 1.3 and 1.5.
378Note that
379.Nm
Damien Miller30c3d422000-05-09 11:02:59 +1000380disables protocols 1.3 and 1.5 if this file is group/world-accessible.
Damien Miller32aa1441999-10-29 09:15:49 +1000381.It Cm IgnoreRhosts
Damien Miller98c7ad62000-03-09 21:27:49 +1100382Specifies that
383.Pa .rhosts
Damien Miller22c77262000-04-13 12:26:34 +1000384and
Damien Miller98c7ad62000-03-09 21:27:49 +1100385.Pa .shosts
386files will not be used in authentication.
Damien Miller32aa1441999-10-29 09:15:49 +1000387.Pa /etc/hosts.equiv
388and
Damien Miller22c77262000-04-13 12:26:34 +1000389.Pa /etc/shosts.equiv
Damien Miller450a7a12000-03-26 13:04:51 +1000390are still used.
Damien Miller22c77262000-04-13 12:26:34 +1000391The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100392.Dq yes .
Damien Miller32265091999-11-12 11:33:04 +1100393.It Cm IgnoreUserKnownHosts
394Specifies whether
395.Nm
396should ignore the user's
397.Pa $HOME/.ssh/known_hosts
398during
399.Cm RhostsRSAAuthentication .
400The default is
401.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000402.It Cm KeepAlive
403Specifies whether the system should send keepalive messages to the
Damien Miller450a7a12000-03-26 13:04:51 +1000404other side.
405If they are sent, death of the connection or crash of one
406of the machines will be properly noticed.
407However, this means that
Damien Miller32aa1441999-10-29 09:15:49 +1000408connections will die if the route is down temporarily, and some people
Damien Miller450a7a12000-03-26 13:04:51 +1000409find it annoying.
Damien Miller30c3d422000-05-09 11:02:59 +1000410On the other hand, if keepalives are not sent,
Damien Miller32aa1441999-10-29 09:15:49 +1000411sessions may hang indefinitely on the server, leaving
412.Dq ghost
413users and consuming server resources.
414.Pp
415The default is
416.Dq yes
417(to send keepalives), and the server will notice
Damien Miller450a7a12000-03-26 13:04:51 +1000418if the network goes down or the client host reboots.
419This avoids infinitely hanging sessions.
Damien Miller32aa1441999-10-29 09:15:49 +1000420.Pp
421To disable keepalives, the value should be set to
422.Dq no
423in both the server and the client configuration files.
424.It Cm KerberosAuthentication
Damien Miller450a7a12000-03-26 13:04:51 +1000425Specifies whether Kerberos authentication is allowed.
426This can be in the form of a Kerberos ticket, or if
Damien Miller32aa1441999-10-29 09:15:49 +1000427.Cm PasswordAuthentication
428is yes, the password provided by the user will be validated through
Damien Miller874d77b2000-10-14 16:23:11 +1100429the Kerberos KDC.
430To use this option, the server needs a
Damien Miller942da032000-08-18 13:59:06 +1000431Kerberos servtab which allows the verification of the KDC's identity.
Damien Miller450a7a12000-03-26 13:04:51 +1000432Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000433.Dq yes .
434.It Cm KerberosOrLocalPasswd
435If set then if password authentication through Kerberos fails then
436the password will be validated via any additional local mechanism
437such as
Damien Miller62cee002000-09-23 17:15:56 +1100438.Pa /etc/passwd .
Damien Miller450a7a12000-03-26 13:04:51 +1000439Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000440.Dq yes .
441.It Cm KerberosTgtPassing
442Specifies whether a Kerberos TGT may be forwarded to the server.
Damien Miller22c77262000-04-13 12:26:34 +1000443Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000444.Dq no ,
445as this only works when the Kerberos KDC is actually an AFS kaserver.
446.It Cm KerberosTicketCleanup
447Specifies whether to automatically destroy the user's ticket cache
Damien Miller450a7a12000-03-26 13:04:51 +1000448file on logout.
449Default is
Damien Miller32aa1441999-10-29 09:15:49 +1000450.Dq yes .
451.It Cm KeyRegenerationInterval
452The server key is automatically regenerated after this many seconds
Damien Miller450a7a12000-03-26 13:04:51 +1000453(if it has been used).
454The purpose of regeneration is to prevent
Damien Miller32aa1441999-10-29 09:15:49 +1000455decrypting captured sessions by later breaking into the machine and
Damien Miller450a7a12000-03-26 13:04:51 +1000456stealing the keys.
457The key is never stored anywhere.
458If the value is 0, the key is never regenerated.
459The default is 3600 (seconds).
Damien Miller32aa1441999-10-29 09:15:49 +1000460.It Cm ListenAddress
461Specifies what local address
462.Nm
463should listen on.
464The default is to listen to all local addresses.
Damien Miller34132e52000-01-14 15:45:46 +1100465Multiple options of this type are permitted.
466Additionally, the
467.Cm Ports
468options must precede this option.
Damien Miller32aa1441999-10-29 09:15:49 +1000469.It Cm LoginGraceTime
470The server disconnects after this time if the user has not
Damien Miller450a7a12000-03-26 13:04:51 +1000471successfully logged in.
472If the value is 0, there is no time limit.
Damien Miller32aa1441999-10-29 09:15:49 +1000473The default is 600 (seconds).
Damien Miller5ce662a1999-11-11 17:57:39 +1100474.It Cm LogLevel
475Gives the verbosity level that is used when logging messages from
476.Nm sshd .
477The possible values are:
Damien Miller95def091999-11-25 00:26:21 +1100478QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG.
Damien Miller5ce662a1999-11-11 17:57:39 +1100479The default is INFO.
480Logging with level DEBUG violates the privacy of users
481and is not recommended.
Damien Miller37023962000-07-11 17:31:38 +1000482.It Cm MaxStartups
483Specifies the maximum number of concurrent unauthenticated connections to the
484.Nm
485daemon.
486Additional connections will be dropped until authentication succeeds or the
487.Cm LoginGraceTime
488expires for a connection.
489The default is 10.
Damien Miller942da032000-08-18 13:59:06 +1000490.Pp
491Alternatively, random early drop can be enabled by specifying
492the three colon separated values
493.Dq start:rate:full
Damien Miller874d77b2000-10-14 16:23:11 +1100494(e.g., "10:30:60").
Damien Miller942da032000-08-18 13:59:06 +1000495.Nm
496will refuse connection attempts with a probabillity of
497.Dq rate/100
498(30%)
499if there are currently
500.Dq start
501(10)
502unauthenticated connections.
503The probabillity increases linearly and all connection attempts
504are refused if the number of unauthenticated connections reaches
505.Dq full
506(60).
Damien Miller32aa1441999-10-29 09:15:49 +1000507.It Cm PasswordAuthentication
508Specifies whether password authentication is allowed.
509The default is
510.Dq yes .
Damien Miller942da032000-08-18 13:59:06 +1000511Note that this option applies to both protocol versions 1 and 2.
Damien Miller32aa1441999-10-29 09:15:49 +1000512.It Cm PermitEmptyPasswords
513When password authentication is allowed, it specifies whether the
Damien Miller450a7a12000-03-26 13:04:51 +1000514server allows login to accounts with empty password strings.
515The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100516.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000517.It Cm PermitRootLogin
518Specifies whether the root can log in using
519.Xr ssh 1 .
520The argument must be
521.Dq yes ,
522.Dq without-password
523or
524.Dq no .
525The default is
526.Dq yes .
527If this options is set to
528.Dq without-password
529only password authentication is disabled for root.
530.Pp
531Root login with RSA authentication when the
532.Ar command
533option has been
534specified will be allowed regardless of the value of this setting
535(which may be useful for taking remote backups even if root login is
536normally not allowed).
Damien Miller6f83b8e2000-05-02 09:23:45 +1000537.It Cm PidFile
538Specifies the file that contains the process identifier of the
539.Nm
540daemon.
541The default is
542.Pa /var/run/sshd.pid .
Damien Miller32aa1441999-10-29 09:15:49 +1000543.It Cm Port
544Specifies the port number that
545.Nm
Damien Miller450a7a12000-03-26 13:04:51 +1000546listens on.
547The default is 22.
Damien Miller34132e52000-01-14 15:45:46 +1100548Multiple options of this type are permitted.
Damien Miller32aa1441999-10-29 09:15:49 +1000549.It Cm PrintMotd
550Specifies whether
551.Nm
Damien Miller22c77262000-04-13 12:26:34 +1000552should print
Damien Miller32aa1441999-10-29 09:15:49 +1000553.Pa /etc/motd
Damien Miller450a7a12000-03-26 13:04:51 +1000554when a user logs in interactively.
555(On some systems it is also printed by the shell,
Damien Miller32aa1441999-10-29 09:15:49 +1000556.Pa /etc/profile ,
Damien Miller450a7a12000-03-26 13:04:51 +1000557or equivalent.)
558The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000559.Dq yes .
Damien Miller22c77262000-04-13 12:26:34 +1000560.It Cm Protocol
561Specifies the protocol versions
562.Nm
563should support.
564The possible values are
565.Dq 1
566and
567.Dq 2 .
568Multiple versions must be comma-separated.
569The default is
570.Dq 1 .
Damien Miller32aa1441999-10-29 09:15:49 +1000571.It Cm RandomSeed
Damien Miller450a7a12000-03-26 13:04:51 +1000572Obsolete.
573Random number generation uses other techniques.
Damien Miller32aa1441999-10-29 09:15:49 +1000574.It Cm RhostsAuthentication
575Specifies whether authentication using rhosts or /etc/hosts.equiv
Damien Miller450a7a12000-03-26 13:04:51 +1000576files is sufficient.
577Normally, this method should not be permitted because it is insecure.
Damien Miller32aa1441999-10-29 09:15:49 +1000578.Cm RhostsRSAAuthentication
579should be used
580instead, because it performs RSA-based host authentication in addition
581to normal rhosts or /etc/hosts.equiv authentication.
582The default is
583.Dq no .
584.It Cm RhostsRSAAuthentication
585Specifies whether rhosts or /etc/hosts.equiv authentication together
Damien Miller450a7a12000-03-26 13:04:51 +1000586with successful RSA host authentication is allowed.
587The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100588.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000589.It Cm RSAAuthentication
Damien Miller450a7a12000-03-26 13:04:51 +1000590Specifies whether pure RSA authentication is allowed.
591The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000592.Dq yes .
Damien Millere247cc42000-05-07 12:03:14 +1000593Note that this option applies to protocol version 1 only.
Damien Miller32aa1441999-10-29 09:15:49 +1000594.It Cm ServerKeyBits
Damien Miller450a7a12000-03-26 13:04:51 +1000595Defines the number of bits in the server key.
596The minimum value is 512, and the default is 768.
Damien Miller32aa1441999-10-29 09:15:49 +1000597.It Cm SkeyAuthentication
598Specifies whether
Damien Miller22c77262000-04-13 12:26:34 +1000599.Xr skey 1
Damien Miller450a7a12000-03-26 13:04:51 +1000600authentication is allowed.
601The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000602.Dq yes .
603Note that s/key authentication is enabled only if
604.Cm PasswordAuthentication
605is allowed, too.
606.It Cm StrictModes
607Specifies whether
608.Nm
609should check file modes and ownership of the
Damien Miller450a7a12000-03-26 13:04:51 +1000610user's files and home directory before accepting login.
611This is normally desirable because novices sometimes accidentally leave their
612directory or files world-writable.
613The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000614.Dq yes .
Damien Millerf6d9e222000-06-18 14:50:44 +1000615.It Cm Subsystem
Damien Miller874d77b2000-10-14 16:23:11 +1100616Configures an external subsystem (e.g., file transfer daemon).
617Arguments should be a subsystem name and a command to execute upon subsystem
618request.
Damien Miller7b28dc52000-09-05 13:34:53 +1100619The command
620.Xr sftp-server 8
621implements the
622.Dq sftp
623file transfer subsystem.
Damien Millerf6d9e222000-06-18 14:50:44 +1000624By default no subsystems are defined.
625Note that this option applies to protocol version 2 only.
Damien Miller32aa1441999-10-29 09:15:49 +1000626.It Cm SyslogFacility
627Gives the facility code that is used when logging messages from
628.Nm sshd .
629The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
Damien Miller450a7a12000-03-26 13:04:51 +1000630LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
631The default is AUTH.
Damien Miller32aa1441999-10-29 09:15:49 +1000632.It Cm UseLogin
633Specifies whether
634.Xr login 1
Damien Millerd3a18572000-06-07 19:55:44 +1000635is used for interactive login sessions.
636Note that
637.Xr login 1
Damien Miller942da032000-08-18 13:59:06 +1000638is never used for remote command execution.
Damien Miller450a7a12000-03-26 13:04:51 +1000639The default is
Damien Miller32aa1441999-10-29 09:15:49 +1000640.Dq no .
Damien Miller32aa1441999-10-29 09:15:49 +1000641.It Cm X11DisplayOffset
642Specifies the first display number available for
643.Nm sshd Ns 's
Damien Miller450a7a12000-03-26 13:04:51 +1000644X11 forwarding.
645This prevents
Damien Miller32aa1441999-10-29 09:15:49 +1000646.Nm
647from interfering with real X11 servers.
Damien Miller98c7ad62000-03-09 21:27:49 +1100648The default is 10.
Damien Miller396691a2000-01-20 22:44:08 +1100649.It Cm X11Forwarding
Damien Miller450a7a12000-03-26 13:04:51 +1000650Specifies whether X11 forwarding is permitted.
651The default is
Damien Miller98c7ad62000-03-09 21:27:49 +1100652.Dq no .
Damien Miller396691a2000-01-20 22:44:08 +1100653Note that disabling X11 forwarding does not improve security in any
654way, as users can always install their own forwarders.
Damien Millerd3a18572000-06-07 19:55:44 +1000655.It Cm XAuthLocation
656Specifies the location of the
657.Xr xauth 1
658program.
659The default is
660.Pa /usr/X11R6/bin/xauth .
Damien Miller32aa1441999-10-29 09:15:49 +1000661.El
662.Sh LOGIN PROCESS
663When a user successfully logs in,
664.Nm
665does the following:
666.Bl -enum -offset indent
667.It
668If the login is on a tty, and no command has been specified,
Damien Miller22c77262000-04-13 12:26:34 +1000669prints last login time and
Damien Miller32aa1441999-10-29 09:15:49 +1000670.Pa /etc/motd
671(unless prevented in the configuration file or by
672.Pa $HOME/.hushlogin ;
673see the
Damien Miller22c77262000-04-13 12:26:34 +1000674.Sx FILES
Damien Miller32aa1441999-10-29 09:15:49 +1000675section).
676.It
677If the login is on a tty, records login time.
678.It
679Checks
680.Pa /etc/nologin ;
681if it exists, prints contents and quits
682(unless root).
683.It
684Changes to run with normal user privileges.
685.It
686Sets up basic environment.
687.It
688Reads
689.Pa $HOME/.ssh/environment
690if it exists.
691.It
692Changes to user's home directory.
693.It
694If
695.Pa $HOME/.ssh/rc
696exists, runs it; else if
Damien Miller886c63a2000-01-20 23:13:36 +1100697.Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +1000698exists, runs
Damien Miller450a7a12000-03-26 13:04:51 +1000699it; otherwise runs xauth.
700The
Damien Miller32aa1441999-10-29 09:15:49 +1000701.Dq rc
702files are given the X11
703authentication protocol and cookie in standard input.
704.It
705Runs user's shell or command.
706.El
707.Sh AUTHORIZED_KEYS FILE FORMAT
Damien Miller22c77262000-04-13 12:26:34 +1000708The
Damien Miller32aa1441999-10-29 09:15:49 +1000709.Pa $HOME/.ssh/authorized_keys
710file lists the RSA keys that are
Damien Millere247cc42000-05-07 12:03:14 +1000711permitted for RSA authentication in SSH protocols 1.3 and 1.5
Damien Miller30c3d422000-05-09 11:02:59 +1000712Similarly, the
Damien Millere247cc42000-05-07 12:03:14 +1000713.Pa $HOME/.ssh/authorized_keys2
714file lists the DSA keys that are
715permitted for DSA authentication in SSH protocol 2.0.
Damien Miller450a7a12000-03-26 13:04:51 +1000716Each line of the file contains one
Damien Miller32aa1441999-10-29 09:15:49 +1000717key (empty lines and lines starting with a
718.Ql #
719are ignored as
Damien Miller450a7a12000-03-26 13:04:51 +1000720comments).
721Each line consists of the following fields, separated by
722spaces: options, bits, exponent, modulus, comment.
723The options field
Damien Miller32aa1441999-10-29 09:15:49 +1000724is optional; its presence is determined by whether the line starts
725with a number or not (the option field never starts with a number).
726The bits, exponent, modulus and comment fields give the RSA key; the
727comment field is not used for anything (but may be convenient for the
728user to identify the key).
729.Pp
730Note that lines in this file are usually several hundred bytes long
Damien Miller450a7a12000-03-26 13:04:51 +1000731(because of the size of the RSA key modulus).
732You don't want to type them in; instead, copy the
Damien Miller32aa1441999-10-29 09:15:49 +1000733.Pa identity.pub
734file and edit it.
735.Pp
Damien Miller942da032000-08-18 13:59:06 +1000736The options (if present) consist of comma-separated option
Damien Miller450a7a12000-03-26 13:04:51 +1000737specifications.
738No spaces are permitted, except within double quotes.
Damien Miller32aa1441999-10-29 09:15:49 +1000739The following option specifications are supported:
740.Bl -tag -width Ds
741.It Cm from="pattern-list"
742Specifies that in addition to RSA authentication, the canonical name
743of the remote host must be present in the comma-separated list of
Damien Miller450a7a12000-03-26 13:04:51 +1000744patterns
745.Pf ( Ql *
746and
747.Ql ?
748serve as wildcards).
749The list may also contain
750patterns negated by prefixing them with
751.Ql ! ;
752if the canonical host name matches a negated pattern, the key is not accepted.
753The purpose
Damien Miller32aa1441999-10-29 09:15:49 +1000754of this option is to optionally increase security: RSA authentication
755by itself does not trust the network or name servers or anything (but
756the key); however, if somebody somehow steals the key, the key
Damien Miller450a7a12000-03-26 13:04:51 +1000757permits an intruder to log in from anywhere in the world.
758This additional option makes using a stolen key more difficult (name
Damien Miller32aa1441999-10-29 09:15:49 +1000759servers and/or routers would have to be compromised in addition to
760just the key).
761.It Cm command="command"
762Specifies that the command is executed whenever this key is used for
Damien Miller450a7a12000-03-26 13:04:51 +1000763authentication.
764The command supplied by the user (if any) is ignored.
Damien Miller32aa1441999-10-29 09:15:49 +1000765The command is run on a pty if the connection requests a pty;
Damien Miller450a7a12000-03-26 13:04:51 +1000766otherwise it is run without a tty.
767A quote may be included in the command by quoting it with a backslash.
768This option might be useful
769to restrict certain RSA keys to perform just a specific operation.
770An example might be a key that permits remote backups but nothing else.
Damien Miller30c3d422000-05-09 11:02:59 +1000771Note that the client may specify TCP/IP and/or X11
772forwarding unless they are explicitly prohibited.
Damien Miller32aa1441999-10-29 09:15:49 +1000773.It Cm environment="NAME=value"
774Specifies that the string is to be added to the environment when
Damien Miller450a7a12000-03-26 13:04:51 +1000775logging in using this key.
776Environment variables set this way
777override other default environment values.
778Multiple options of this type are permitted.
Damien Miller32aa1441999-10-29 09:15:49 +1000779.It Cm no-port-forwarding
780Forbids TCP/IP forwarding when this key is used for authentication.
Damien Miller450a7a12000-03-26 13:04:51 +1000781Any port forward requests by the client will return an error.
782This might be used, e.g., in connection with the
Damien Miller32aa1441999-10-29 09:15:49 +1000783.Cm command
784option.
785.It Cm no-X11-forwarding
786Forbids X11 forwarding when this key is used for authentication.
787Any X11 forward requests by the client will return an error.
788.It Cm no-agent-forwarding
789Forbids authentication agent forwarding when this key is used for
790authentication.
791.It Cm no-pty
792Prevents tty allocation (a request to allocate a pty will fail).
793.El
794.Ss Examples
7951024 33 12121.\|.\|.\|312314325 ylo@foo.bar
796.Pp
797from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula
798.Pp
799command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
800.Sh SSH_KNOWN_HOSTS FILE FORMAT
Damien Miller22c77262000-04-13 12:26:34 +1000801The
Damien Millere247cc42000-05-07 12:03:14 +1000802.Pa /etc/ssh_known_hosts ,
803.Pa /etc/ssh_known_hosts2 ,
804.Pa $HOME/.ssh/known_hosts ,
Damien Miller22c77262000-04-13 12:26:34 +1000805and
Damien Millere247cc42000-05-07 12:03:14 +1000806.Pa $HOME/.ssh/known_hosts2
Damien Miller450a7a12000-03-26 13:04:51 +1000807files contain host public keys for all known hosts.
808The global file should
809be prepared by the administrator (optional), and the per-user file is
Damien Miller942da032000-08-18 13:59:06 +1000810maintained automatically: whenever the user connects from an unknown host
Damien Miller450a7a12000-03-26 13:04:51 +1000811its key is added to the per-user file.
Damien Miller32aa1441999-10-29 09:15:49 +1000812.Pp
813Each line in these files contains the following fields: hostnames,
Damien Miller450a7a12000-03-26 13:04:51 +1000814bits, exponent, modulus, comment.
815The fields are separated by spaces.
Damien Miller32aa1441999-10-29 09:15:49 +1000816.Pp
817Hostnames is a comma-separated list of patterns ('*' and '?' act as
818wildcards); each pattern in turn is matched against the canonical host
819name (when authenticating a client) or against the user-supplied
Damien Miller450a7a12000-03-26 13:04:51 +1000820name (when authenticating a server).
821A pattern may also be preceded by
Damien Miller32aa1441999-10-29 09:15:49 +1000822.Ql !
823to indicate negation: if the host name matches a negated
824pattern, it is not accepted (by that line) even if it matched another
825pattern on the line.
826.Pp
Damien Millere247cc42000-05-07 12:03:14 +1000827Bits, exponent, and modulus are taken directly from the RSA host key; they
Damien Miller32aa1441999-10-29 09:15:49 +1000828can be obtained, e.g., from
Damien Miller886c63a2000-01-20 23:13:36 +1100829.Pa /etc/ssh_host_key.pub .
Damien Miller32aa1441999-10-29 09:15:49 +1000830The optional comment field continues to the end of the line, and is not used.
831.Pp
832Lines starting with
833.Ql #
834and empty lines are ignored as comments.
835.Pp
836When performing host authentication, authentication is accepted if any
Damien Miller450a7a12000-03-26 13:04:51 +1000837matching line has the proper key.
838It is thus permissible (but not
Damien Miller32aa1441999-10-29 09:15:49 +1000839recommended) to have several lines or different host keys for the same
Damien Miller450a7a12000-03-26 13:04:51 +1000840names.
841This will inevitably happen when short forms of host names
842from different domains are put in the file.
843It is possible
Damien Miller32aa1441999-10-29 09:15:49 +1000844that the files contain conflicting information; authentication is
845accepted if valid information can be found from either file.
846.Pp
847Note that the lines in these files are typically hundreds of characters
848long, and you definitely don't want to type in the host keys by hand.
849Rather, generate them by a script
Damien Miller22c77262000-04-13 12:26:34 +1000850or by taking
Damien Miller886c63a2000-01-20 23:13:36 +1100851.Pa /etc/ssh_host_key.pub
Damien Miller32aa1441999-10-29 09:15:49 +1000852and adding the host names at the front.
853.Ss Examples
854closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
855.Sh FILES
856.Bl -tag -width Ds
Damien Miller886c63a2000-01-20 23:13:36 +1100857.It Pa /etc/sshd_config
Damien Miller32aa1441999-10-29 09:15:49 +1000858Contains configuration data for
859.Nm sshd .
860This file should be writable by root only, but it is recommended
861(though not necessary) that it be world-readable.
Damien Miller886c63a2000-01-20 23:13:36 +1100862.It Pa /etc/ssh_host_key
Damien Miller32aa1441999-10-29 09:15:49 +1000863Contains the private part of the host key.
864This file should only be owned by root, readable only by root, and not
865accessible to others.
866Note that
867.Nm
868does not start if this file is group/world-accessible.
Damien Miller886c63a2000-01-20 23:13:36 +1100869.It Pa /etc/ssh_host_key.pub
Damien Miller32aa1441999-10-29 09:15:49 +1000870Contains the public part of the host key.
871This file should be world-readable but writable only by
Damien Miller450a7a12000-03-26 13:04:51 +1000872root.
873Its contents should match the private part.
874This file is not
Damien Miller32aa1441999-10-29 09:15:49 +1000875really used for anything; it is only provided for the convenience of
876the user so its contents can be copied to known hosts files.
877These two files are created using
878.Xr ssh-keygen 1 .
Damien Miller886c63a2000-01-20 23:13:36 +1100879.It Pa /var/run/sshd.pid
Damien Miller32aa1441999-10-29 09:15:49 +1000880Contains the process ID of the
881.Nm
882listening for connections (if there are several daemons running
883concurrently for different ports, this contains the pid of the one
Damien Miller450a7a12000-03-26 13:04:51 +1000884started last).
Damien Miller942da032000-08-18 13:59:06 +1000885The content of this file is not sensitive; it can be world-readable.
Damien Miller32aa1441999-10-29 09:15:49 +1000886.It Pa $HOME/.ssh/authorized_keys
887Lists the RSA keys that can be used to log into the user's account.
888This file must be readable by root (which may on some machines imply
889it being world-readable if the user's home directory resides on an NFS
Damien Miller450a7a12000-03-26 13:04:51 +1000890volume).
891It is recommended that it not be accessible by others.
892The format of this file is described above.
Damien Millere247cc42000-05-07 12:03:14 +1000893Users will place the contents of their
894.Pa identity.pub
895files into this file, as described in
896.Xr ssh-keygen 1 .
897.It Pa $HOME/.ssh/authorized_keys2
898Lists the DSA keys that can be used to log into the user's account.
899This file must be readable by root (which may on some machines imply
900it being world-readable if the user's home directory resides on an NFS
901volume).
902It is recommended that it not be accessible by others.
903The format of this file is described above.
904Users will place the contents of their
905.Pa id_dsa.pub
906files into this file, as described in
907.Xr ssh-keygen 1 .
Damien Miller886c63a2000-01-20 23:13:36 +1100908.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"
Damien Miller5ce662a1999-11-11 17:57:39 +1100909These files are consulted when using rhosts with RSA host
Damien Miller450a7a12000-03-26 13:04:51 +1000910authentication to check the public key of the host.
911The key must be listed in one of these files to be accepted.
Damien Miller33e511e1999-11-11 11:43:13 +1100912The client uses the same files
Damien Miller942da032000-08-18 13:59:06 +1000913to verify that the remote host is the one it intended to connect.
Damien Miller450a7a12000-03-26 13:04:51 +1000914These files should be writable only by root/the owner.
Damien Miller886c63a2000-01-20 23:13:36 +1100915.Pa /etc/ssh_known_hosts
Damien Miller32aa1441999-10-29 09:15:49 +1000916should be world-readable, and
917.Pa $HOME/.ssh/known_hosts
918can but need not be world-readable.
919.It Pa /etc/nologin
Damien Miller22c77262000-04-13 12:26:34 +1000920If this file exists,
Damien Miller32aa1441999-10-29 09:15:49 +1000921.Nm
Damien Miller450a7a12000-03-26 13:04:51 +1000922refuses to let anyone except root log in.
923The contents of the file
Damien Miller32aa1441999-10-29 09:15:49 +1000924are displayed to anyone trying to log in, and non-root connections are
Damien Miller450a7a12000-03-26 13:04:51 +1000925refused.
926The file should be world-readable.
Damien Miller32aa1441999-10-29 09:15:49 +1000927.It Pa /etc/hosts.allow, /etc/hosts.deny
928If compiled with
929.Sy LIBWRAP
930support, tcp-wrappers access controls may be defined here as described in
931.Xr hosts_access 5 .
932.It Pa $HOME/.rhosts
933This file contains host-username pairs, separated by a space, one per
Damien Miller450a7a12000-03-26 13:04:51 +1000934line.
935The given user on the corresponding host is permitted to log in
936without password.
937The same file is used by rlogind and rshd.
Damien Miller32aa1441999-10-29 09:15:49 +1000938The file must
939be writable only by the user; it is recommended that it not be
940accessible by others.
941.Pp
Damien Miller450a7a12000-03-26 13:04:51 +1000942If is also possible to use netgroups in the file.
943Either host or user
Damien Miller32aa1441999-10-29 09:15:49 +1000944name may be of the form +@groupname to specify all hosts or all users
945in the group.
946.It Pa $HOME/.shosts
947For ssh,
948this file is exactly the same as for
949.Pa .rhosts .
950However, this file is
951not used by rlogin and rshd, so using this permits access using SSH only.
Damien Miller942da032000-08-18 13:59:06 +1000952.It Pa /etc/hosts.equiv
Damien Miller32aa1441999-10-29 09:15:49 +1000953This file is used during
954.Pa .rhosts
Damien Miller450a7a12000-03-26 13:04:51 +1000955authentication.
956In the simplest form, this file contains host names, one per line.
957Users on
Damien Miller32aa1441999-10-29 09:15:49 +1000958those hosts are permitted to log in without a password, provided they
Damien Miller450a7a12000-03-26 13:04:51 +1000959have the same user name on both machines.
960The host name may also be
Damien Miller32aa1441999-10-29 09:15:49 +1000961followed by a user name; such users are permitted to log in as
962.Em any
Damien Miller450a7a12000-03-26 13:04:51 +1000963user on this machine (except root).
964Additionally, the syntax
Damien Miller32aa1441999-10-29 09:15:49 +1000965.Dq +@group
Damien Miller450a7a12000-03-26 13:04:51 +1000966can be used to specify netgroups.
967Negated entries start with
Damien Miller32aa1441999-10-29 09:15:49 +1000968.Ql \&- .
969.Pp
970If the client host/user is successfully matched in this file, login is
971automatically permitted provided the client and server user names are the
Damien Miller450a7a12000-03-26 13:04:51 +1000972same.
973Additionally, successful RSA host authentication is normally required.
974This file must be writable only by root; it is recommended
Damien Miller32aa1441999-10-29 09:15:49 +1000975that it be world-readable.
976.Pp
977.Sy "Warning: It is almost never a good idea to use user names in"
978.Pa hosts.equiv .
979Beware that it really means that the named user(s) can log in as
980.Em anybody ,
981which includes bin, daemon, adm, and other accounts that own critical
Damien Miller450a7a12000-03-26 13:04:51 +1000982binaries and directories.
983Using a user name practically grants the user root access.
984The only valid use for user names that I can think
Damien Miller32aa1441999-10-29 09:15:49 +1000985of is in negative entries.
986.Pp
987Note that this warning also applies to rsh/rlogin.
Damien Miller886c63a2000-01-20 23:13:36 +1100988.It Pa /etc/shosts.equiv
Damien Miller32aa1441999-10-29 09:15:49 +1000989This is processed exactly as
990.Pa /etc/hosts.equiv .
991However, this file may be useful in environments that want to run both
992rsh/rlogin and ssh.
993.It Pa $HOME/.ssh/environment
Damien Miller450a7a12000-03-26 13:04:51 +1000994This file is read into the environment at login (if it exists).
995It can only contain empty lines, comment lines (that start with
Damien Miller32aa1441999-10-29 09:15:49 +1000996.Ql # ) ,
Damien Miller450a7a12000-03-26 13:04:51 +1000997and assignment lines of the form name=value.
998The file should be writable
Damien Miller32aa1441999-10-29 09:15:49 +1000999only by the user; it need not be readable by anyone else.
1000.It Pa $HOME/.ssh/rc
1001If this file exists, it is run with /bin/sh after reading the
Damien Miller450a7a12000-03-26 13:04:51 +10001002environment files but before starting the user's shell or command.
1003If X11 spoofing is in use, this will receive the "proto cookie" pair in
Damien Miller32aa1441999-10-29 09:15:49 +10001004standard input (and
1005.Ev DISPLAY
Damien Miller450a7a12000-03-26 13:04:51 +10001006in environment).
1007This must call
Damien Miller32aa1441999-10-29 09:15:49 +10001008.Xr xauth 1
1009in that case.
1010.Pp
1011The primary purpose of this file is to run any initialization routines
1012which may be needed before the user's home directory becomes
1013accessible; AFS is a particular example of such an environment.
1014.Pp
1015This file will probably contain some initialization code followed by
1016something similar to: "if read proto cookie; then echo add $DISPLAY
1017$proto $cookie | xauth -q -; fi".
1018.Pp
1019If this file does not exist,
Damien Miller886c63a2000-01-20 23:13:36 +11001020.Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +10001021is run, and if that
1022does not exist either, xauth is used to store the cookie.
1023.Pp
1024This file should be writable only by the user, and need not be
1025readable by anyone else.
Damien Miller886c63a2000-01-20 23:13:36 +11001026.It Pa /etc/sshrc
Damien Miller32aa1441999-10-29 09:15:49 +10001027Like
1028.Pa $HOME/.ssh/rc .
1029This can be used to specify
Damien Miller450a7a12000-03-26 13:04:51 +10001030machine-specific login-time initializations globally.
1031This file should be writable only by root, and should be world-readable.
Damien Miller37023962000-07-11 17:31:38 +10001032.El
Damien Miller32aa1441999-10-29 09:15:49 +10001033.Sh AUTHOR
Damien Miller32aa1441999-10-29 09:15:49 +10001034OpenSSH
Damien Miller98c7ad62000-03-09 21:27:49 +11001035is a derivative of the original (free) ssh 1.2.12 release by Tatu Ylonen,
Damien Miller450a7a12000-03-26 13:04:51 +10001036but with bugs removed and newer features re-added.
1037Rapidly after the
Damien Miller98c7ad62000-03-09 21:27:49 +110010381.2.12 release, newer versions of the original ssh bore successively
1039more restrictive licenses, and thus demand for a free version was born.
Damien Millere247cc42000-05-07 12:03:14 +10001040.Pp
Damien Miller98c7ad62000-03-09 21:27:49 +11001041This version of OpenSSH
Damien Miller32aa1441999-10-29 09:15:49 +10001042.Bl -bullet
1043.It
Damien Millere4340be2000-09-16 13:29:08 +11001044has all components of a restrictive nature (i.e., patents, see
1045.Xr crypto 3 )
Damien Miller32aa1441999-10-29 09:15:49 +10001046directly removed from the source code; any licensed or patented components
1047are chosen from
1048external libraries.
1049.It
Damien Millere247cc42000-05-07 12:03:14 +10001050has been updated to support SSH protocol 1.5 and 2, making it compatible with
1051all other SSH clients and servers.
Damien Miller32aa1441999-10-29 09:15:49 +10001052.It
Damien Miller22c77262000-04-13 12:26:34 +10001053contains added support for
Damien Miller32aa1441999-10-29 09:15:49 +10001054.Xr kerberos 8
1055authentication and ticket passing.
1056.It
1057supports one-time password authentication with
1058.Xr skey 1 .
1059.El
Damien Millere247cc42000-05-07 12:03:14 +10001060.Pp
1061OpenSSH has been created by Aaron Campbell, Bob Beck, Markus Friedl,
1062Niels Provos, Theo de Raadt, and Dug Song.
1063.Pp
1064The support for SSH protocol 2 was written by Markus Friedl.
Damien Miller32aa1441999-10-29 09:15:49 +10001065.Sh SEE ALSO
Damien Miller32aa1441999-10-29 09:15:49 +10001066.Xr scp 1 ,
Damien Miller7b28dc52000-09-05 13:34:53 +11001067.Xr sftp-server 8 ,
Damien Miller32aa1441999-10-29 09:15:49 +10001068.Xr ssh 1 ,
1069.Xr ssh-add 1 ,
1070.Xr ssh-agent 1 ,
1071.Xr ssh-keygen 1 ,
Damien Millere4340be2000-09-16 13:29:08 +11001072.Xr crypto 3 ,
Damien Millerb38eff82000-04-01 11:09:21 +10001073.Xr rlogin 1 ,
1074.Xr rsh 1