]> andersk Git - openssh.git/blame - sshd.8
- (djm) OpenBSD CVS changes:
[openssh.git] / sshd.8
CommitLineData
bf740959 1.\" -*- 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.\"
12.\" $Id$
13.\"
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
48e671d5 22.Op Fl diqQ46
bf740959 23.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
c345cf9d 29.Op Fl u Ar len
5260325f 30.Op Fl V Ar client_protocol_id
f54651ce 31.Sh DESCRIPTION
bf740959 32.Nm
f54651ce 33(Secure Shell Daemon) is the daemon program for
bf740959 34.Xr ssh 1 .
3189621b 35Together these programs replace rlogin and rsh, and
bf740959 36provide secure encrypted communications between two untrusted hosts
4fe2af09 37over an insecure network.
38The programs are intended to be as easy to
bf740959 39install and use as possible.
40.Pp
41.Nm
4fe2af09 42is the daemon that listens for connections from clients.
f54651ce 43It is normally started at boot from
bf740959 44.Pa /etc/rc .
45It forks a new
4fe2af09 46daemon for each incoming connection.
47The forked daemons handle
bf740959 48key exchange, encryption, authentication, command execution,
49and data exchange.
1d1ffb87 50This implementation of
51.Nm
52supports both SSH protocol version 1 and 2 simultaneously.
bf740959 53.Nm
4fe2af09 54works as follows.
1d1ffb87 55.Pp
56.Ss SSH protocol version 1
57.Pp
4fe2af09 58Each host has a host-specific RSA key
59(normally 1024 bits) used to identify the host.
60Additionally, when
bf740959 61the 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
3189621b 65Whenever a client connects the daemon responds with its public
66host and server keys.
4fe2af09 67The client compares the
1d1ffb87 68RSA host key against its own database to verify that it has not changed.
4fe2af09 69The client then generates a 256 bit random number.
70It encrypts this
bf740959 71random number using both the host key and the server key, and sends
4fe2af09 72the encrypted number to the server.
3189621b 73Both sides then use this
bf740959 74random number as a session key which is used to encrypt all further
4fe2af09 75communications in the session.
76The rest of the session is encrypted
3189621b 77using a conventional cipher, currently Blowfish or 3DES, with 3DES
7368a6c8 78being used by default.
4fe2af09 79The client selects the encryption algorithm
bf740959 80to use from those offered by the server.
81.Pp
4fe2af09 82Next, the server and the client enter an authentication dialog.
83The client tries to authenticate itself using
bf740959 84.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
4fe2af09 93configuration file if desired.
94System security is not improved unless
bf740959 95.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
3189621b 104into the machine).
bf740959 105.Pp
1d1ffb87 106.Ss SSH protocol version 2
107.Pp
c345cf9d 108Version 2 works similarly:
1d1ffb87 109Each 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
d0c832f3 119through a cryptographic message authentication code
1d1ffb87 120(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
bf740959 128If the client successfully authenticates itself, a dialog for
4fe2af09 129preparing the session is entered.
130At this time the client may request
bf740959 131things 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.
4fe2af09 136The sides then enter session mode.
137In this mode, either side may send
bf740959 138data 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
4fe2af09 147file.
148Command-line options override values specified in the
bf740959 149configuration file.
150.Pp
9d6b7add 151.Nm
152rereads its configuration file when it receives a hangup signal,
153.Dv SIGHUP .
154.Pp
bf740959 155The 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
4fe2af09 161Debug 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.
bf740959 166.It Fl f Ar configuration_file
4fe2af09 167Specifies the name of the configuration file.
168The default is
5f4fdfae 169.Pa /etc/sshd_config .
bf740959 170.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
4fe2af09 174300 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.
bf740959 178.It Fl h Ar host_key_file
1d1ffb87 179Specifies the file from which the RSA host key is read (default
5f4fdfae 180.Pa /etc/ssh_host_key ) .
bf740959 181This 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
f54651ce 188is being run from inetd.
bf740959 189.Nm
190is normally not run
191from inetd because it needs to generate the server key before it can
4fe2af09 192respond to the client, and this may take tens of seconds.
193Clients would have to wait too long if the key was regenerated every time.
610cd5c6 194However, with small key sizes (e.g., 512) using
bf740959 195.Nm
196from inetd may
197be feasible.
198.It Fl k Ar key_gen_time
199Specifies how often the server key is regenerated (default 3600
4fe2af09 200seconds, or one hour).
201The motivation for regenerating the key fairly
bf740959 202often 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
4fe2af09 205seized.
206A value of zero indicates that the key will never be regenerated.
bf740959 207.It Fl p Ar port
208Specifies the port on which the server listens for connections
209(default 22).
210.It Fl q
4fe2af09 211Quiet mode.
212Nothing is sent to the system log.
213Normally the beginning,
bf740959 214authentication, and termination of each connection is logged.
c345cf9d 215.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.
bf740959 231.It Fl Q
232Do not print an error message if RSA support is missing.
5260325f 233.It Fl V Ar client_protocol_id
234SSH2 compatibility mode.
3189621b 235When this option is specified
5260325f 236.Nm
3189621b 237assumes the client has sent the supplied version string
5260325f 238and skips the
239Protocol Version Identification Exchange.
48e671d5 240.It Fl 4
241Forces
242.Nm
243to use IPv4 addresses only.
244.It Fl 6
245Forces
246.Nm
247to use IPv6 addresses only.
bf740959 248.El
249.Sh CONFIGURATION FILE
250.Nm
f54651ce 251reads configuration data from
5f4fdfae 252.Pa /etc/sshd_config
bf740959 253(or the file specified with
254.Fl f
4fe2af09 255on the command line).
256The file contains keyword-value pairs, one per line.
257Lines starting with
bf740959 258.Ql #
259and empty lines are interpreted as comments.
260.Pp
261The following keywords are possible.
262.Bl -tag -width Ds
263.It Cm AFSTokenPassing
4fe2af09 264Specifies whether an AFS token may be forwarded to the server.
265Default is
bf740959 266.Dq yes .
267.It Cm AllowGroups
268This keyword can be followed by a number of group names, separated
4fe2af09 269by spaces.
270If specified, login is allowed only for users whose primary
bf740959 271group matches one of the patterns.
272.Ql \&*
273and
274.Ql ?
275can be used as
4fe2af09 276wildcards in the patterns.
c345cf9d 277Only group names are valid; a numerical group ID isn't recognized.
4fe2af09 278By default login is allowed regardless of the primary group.
bf740959 279.Pp
280.It Cm AllowUsers
281This keyword can be followed by a number of user names, separated
4fe2af09 282by spaces.
283If specified, login is allowed only for users names that
bf740959 284match one of the patterns.
285.Ql \&*
286and
287.Ql ?
288can be used as
4fe2af09 289wildcards in the patterns.
c345cf9d 290Only user names are valid; a numerical user ID isn't recognized.
4fe2af09 291By default login is allowed regardless of the user name.
bf740959 292.Pp
f54651ce 293.It Cm Ciphers
294Specifies the ciphers allowed for protocol version 2.
295Multiple ciphers must be comma-separated.
296The default is
d0c832f3 297.Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc .
bf740959 298.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
4fe2af09 306by spaces.
307Users whose primary group matches one of the patterns
bf740959 308aren't allowed to log in.
309.Ql \&*
310and
311.Ql ?
312can be used as
4fe2af09 313wildcards in the patterns.
c345cf9d 314Only group names are valid; a numerical group ID isn't recognized.
4fe2af09 315By default login is allowed regardless of the primary group.
bf740959 316.Pp
317.It Cm DenyUsers
318This keyword can be followed by a number of user names, separated
4fe2af09 319by spaces.
320Login is disallowed for user names that match one of the patterns.
bf740959 321.Ql \&*
322and
323.Ql ?
4fe2af09 324can be used as wildcards in the patterns.
c345cf9d 325Only user names are valid; a numerical user ID isn't recognized.
4fe2af09 326By default login is allowed regardless of the user name.
1d1ffb87 327.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 .
c345cf9d 341.It Cm HostDSAKey
1d1ffb87 342Specifies the file containing the private DSA host key (default
343.Pa /etc/ssh_host_dsa_key )
344used by SSH protocol 2.0.
345Note that
346.Nm
d0c832f3 347disables protocol 2.0 if this file is group/world-accessible.
bf740959 348.It Cm HostKey
1d1ffb87 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.
bf740959 352Note that
353.Nm
d0c832f3 354disables protocols 1.3 and 1.5 if this file is group/world-accessible.
bf740959 355.It Cm IgnoreRhosts
c8d54615 356Specifies that
357.Pa .rhosts
f54651ce 358and
c8d54615 359.Pa .shosts
360files will not be used in authentication.
bf740959 361.Pa /etc/hosts.equiv
362and
f54651ce 363.Pa /etc/shosts.equiv
4fe2af09 364are still used.
f54651ce 365The default is
c8d54615 366.Dq yes .
b4748e2f 367.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 .
bf740959 376.It Cm KeepAlive
377Specifies whether the system should send keepalive messages to the
4fe2af09 378other side.
379If they are sent, death of the connection or crash of one
380of the machines will be properly noticed.
381However, this means that
bf740959 382connections will die if the route is down temporarily, and some people
4fe2af09 383find it annoying.
d0c832f3 384On the other hand, if keepalives are not sent,
bf740959 385sessions 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
4fe2af09 392if the network goes down or the client host reboots.
393This avoids infinitely hanging sessions.
bf740959 394.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
4fe2af09 399Specifies whether Kerberos authentication is allowed.
400This can be in the form of a Kerberos ticket, or if
bf740959 401.Cm PasswordAuthentication
402is yes, the password provided by the user will be validated through
c345cf9d 403the Kerberos KDC. To use this option, the server needs a
404Kerberos servtab which allows the verification of the KDC's identity.
4fe2af09 405Default is
bf740959 406.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
4fe2af09 412or SecurID.
413Default is
bf740959 414.Dq yes .
415.It Cm KerberosTgtPassing
416Specifies whether a Kerberos TGT may be forwarded to the server.
f54651ce 417Default is
bf740959 418.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
4fe2af09 422file on logout.
423Default is
bf740959 424.Dq yes .
425.It Cm KeyRegenerationInterval
426The server key is automatically regenerated after this many seconds
4fe2af09 427(if it has been used).
428The purpose of regeneration is to prevent
bf740959 429decrypting captured sessions by later breaking into the machine and
4fe2af09 430stealing the keys.
431The key is never stored anywhere.
432If the value is 0, the key is never regenerated.
433The default is 3600 (seconds).
bf740959 434.It Cm ListenAddress
435Specifies what local address
436.Nm
437should listen on.
438The default is to listen to all local addresses.
48e671d5 439Multiple options of this type are permitted.
440Additionally, the
441.Cm Ports
442options must precede this option.
bf740959 443.It Cm LoginGraceTime
444The server disconnects after this time if the user has not
4fe2af09 445successfully logged in.
446If the value is 0, there is no time limit.
bf740959 447The default is 600 (seconds).
6a17f9c2 448.It Cm LogLevel
449Gives the verbosity level that is used when logging messages from
450.Nm sshd .
451The possible values are:
5260325f 452QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG.
6a17f9c2 453The default is INFO.
454Logging with level DEBUG violates the privacy of users
455and is not recommended.
089fbbd2 456.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.
c345cf9d 464.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).
bf740959 481.It Cm PasswordAuthentication
482Specifies whether password authentication is allowed.
483The default is
484.Dq yes .
c345cf9d 485Note that this option applies to both protocol versions 1 and 2.
bf740959 486.It Cm PermitEmptyPasswords
487When password authentication is allowed, it specifies whether the
4fe2af09 488server allows login to accounts with empty password strings.
489The default is
c8d54615 490.Dq no .
bf740959 491.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).
0fbe8c74 511.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 .
bf740959 517.It Cm Port
518Specifies the port number that
519.Nm
4fe2af09 520listens on.
521The default is 22.
48e671d5 522Multiple options of this type are permitted.
bf740959 523.It Cm PrintMotd
524Specifies whether
525.Nm
f54651ce 526should print
bf740959 527.Pa /etc/motd
4fe2af09 528when a user logs in interactively.
529(On some systems it is also printed by the shell,
bf740959 530.Pa /etc/profile ,
4fe2af09 531or equivalent.)
532The default is
bf740959 533.Dq yes .
f54651ce 534.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 .
bf740959 545.It Cm RandomSeed
4fe2af09 546Obsolete.
547Random number generation uses other techniques.
bf740959 548.It Cm RhostsAuthentication
549Specifies whether authentication using rhosts or /etc/hosts.equiv
4fe2af09 550files is sufficient.
551Normally, this method should not be permitted because it is insecure.
bf740959 552.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
4fe2af09 560with successful RSA host authentication is allowed.
561The default is
c8d54615 562.Dq no .
bf740959 563.It Cm RSAAuthentication
4fe2af09 564Specifies whether pure RSA authentication is allowed.
565The default is
bf740959 566.Dq yes .
1d1ffb87 567Note that this option applies to protocol version 1 only.
bf740959 568.It Cm ServerKeyBits
4fe2af09 569Defines the number of bits in the server key.
570The minimum value is 512, and the default is 768.
bf740959 571.It Cm SkeyAuthentication
572Specifies whether
f54651ce 573.Xr skey 1
4fe2af09 574authentication is allowed.
575The default is
bf740959 576.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
4fe2af09 584user'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
bf740959 588.Dq yes .
38c295d6 589.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.
592By default no subsystems are defined.
593Note that this option applies to protocol version 2 only.
bf740959 594.It Cm SyslogFacility
595Gives the facility code that is used when logging messages from
596.Nm sshd .
597The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
4fe2af09 598LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
599The default is AUTH.
bf740959 600.It Cm UseLogin
601Specifies whether
602.Xr login 1
fa649821 603is used for interactive login sessions.
604Note that
605.Xr login 1
c345cf9d 606is never used for remote command execution.
4fe2af09 607The default is
bf740959 608.Dq no .
bf740959 609.It Cm X11DisplayOffset
610Specifies the first display number available for
611.Nm sshd Ns 's
4fe2af09 612X11 forwarding.
613This prevents
bf740959 614.Nm
615from interfering with real X11 servers.
c8d54615 616The default is 10.
7b2ea3a1 617.It Cm X11Forwarding
4fe2af09 618Specifies whether X11 forwarding is permitted.
619The default is
c8d54615 620.Dq no .
7b2ea3a1 621Note that disabling X11 forwarding does not improve security in any
622way, as users can always install their own forwarders.
fa649821 623.It Cm XAuthLocation
624Specifies the location of the
625.Xr xauth 1
626program.
627The default is
628.Pa /usr/X11R6/bin/xauth .
bf740959 629.El
630.Sh LOGIN PROCESS
631When a user successfully logs in,
632.Nm
633does the following:
634.Bl -enum -offset indent
635.It
636If the login is on a tty, and no command has been specified,
f54651ce 637prints last login time and
bf740959 638.Pa /etc/motd
639(unless prevented in the configuration file or by
640.Pa $HOME/.hushlogin ;
641see the
f54651ce 642.Sx FILES
bf740959 643section).
644.It
645If the login is on a tty, records login time.
646.It
647Checks
648.Pa /etc/nologin ;
649if it exists, prints contents and quits
650(unless root).
651.It
652Changes to run with normal user privileges.
653.It
654Sets up basic environment.
655.It
656Reads
657.Pa $HOME/.ssh/environment
658if it exists.
659.It
660Changes to user's home directory.
661.It
662If
663.Pa $HOME/.ssh/rc
664exists, runs it; else if
5f4fdfae 665.Pa /etc/sshrc
bf740959 666exists, runs
4fe2af09 667it; otherwise runs xauth.
668The
bf740959 669.Dq rc
670files are given the X11
671authentication protocol and cookie in standard input.
672.It
673Runs user's shell or command.
674.El
675.Sh AUTHORIZED_KEYS FILE FORMAT
f54651ce 676The
bf740959 677.Pa $HOME/.ssh/authorized_keys
678file lists the RSA keys that are
1d1ffb87 679permitted for RSA authentication in SSH protocols 1.3 and 1.5
d0c832f3 680Similarly, the
1d1ffb87 681.Pa $HOME/.ssh/authorized_keys2
682file lists the DSA keys that are
683permitted for DSA authentication in SSH protocol 2.0.
4fe2af09 684Each line of the file contains one
bf740959 685key (empty lines and lines starting with a
686.Ql #
687are ignored as
4fe2af09 688comments).
689Each line consists of the following fields, separated by
690spaces: options, bits, exponent, modulus, comment.
691The options field
bf740959 692is optional; its presence is determined by whether the line starts
693with a number or not (the option field never starts with a number).
694The bits, exponent, modulus and comment fields give the RSA key; the
695comment field is not used for anything (but may be convenient for the
696user to identify the key).
697.Pp
698Note that lines in this file are usually several hundred bytes long
4fe2af09 699(because of the size of the RSA key modulus).
700You don't want to type them in; instead, copy the
bf740959 701.Pa identity.pub
702file and edit it.
703.Pp
c345cf9d 704The options (if present) consist of comma-separated option
4fe2af09 705specifications.
706No spaces are permitted, except within double quotes.
bf740959 707The following option specifications are supported:
708.Bl -tag -width Ds
709.It Cm from="pattern-list"
710Specifies that in addition to RSA authentication, the canonical name
711of the remote host must be present in the comma-separated list of
4fe2af09 712patterns
713.Pf ( Ql *
714and
715.Ql ?
716serve as wildcards).
717The list may also contain
718patterns negated by prefixing them with
719.Ql ! ;
720if the canonical host name matches a negated pattern, the key is not accepted.
721The purpose
bf740959 722of this option is to optionally increase security: RSA authentication
723by itself does not trust the network or name servers or anything (but
724the key); however, if somebody somehow steals the key, the key
4fe2af09 725permits an intruder to log in from anywhere in the world.
726This additional option makes using a stolen key more difficult (name
bf740959 727servers and/or routers would have to be compromised in addition to
728just the key).
729.It Cm command="command"
730Specifies that the command is executed whenever this key is used for
4fe2af09 731authentication.
732The command supplied by the user (if any) is ignored.
bf740959 733The command is run on a pty if the connection requests a pty;
4fe2af09 734otherwise it is run without a tty.
735A quote may be included in the command by quoting it with a backslash.
736This option might be useful
737to restrict certain RSA keys to perform just a specific operation.
738An example might be a key that permits remote backups but nothing else.
d0c832f3 739Note that the client may specify TCP/IP and/or X11
740forwarding unless they are explicitly prohibited.
bf740959 741.It Cm environment="NAME=value"
742Specifies that the string is to be added to the environment when
4fe2af09 743logging in using this key.
744Environment variables set this way
745override other default environment values.
746Multiple options of this type are permitted.
bf740959 747.It Cm no-port-forwarding
748Forbids TCP/IP forwarding when this key is used for authentication.
4fe2af09 749Any port forward requests by the client will return an error.
750This might be used, e.g., in connection with the
bf740959 751.Cm command
752option.
753.It Cm no-X11-forwarding
754Forbids X11 forwarding when this key is used for authentication.
755Any X11 forward requests by the client will return an error.
756.It Cm no-agent-forwarding
757Forbids authentication agent forwarding when this key is used for
758authentication.
759.It Cm no-pty
760Prevents tty allocation (a request to allocate a pty will fail).
761.El
762.Ss Examples
7631024 33 12121.\|.\|.\|312314325 ylo@foo.bar
764.Pp
765from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula
766.Pp
767command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
768.Sh SSH_KNOWN_HOSTS FILE FORMAT
f54651ce 769The
1d1ffb87 770.Pa /etc/ssh_known_hosts ,
771.Pa /etc/ssh_known_hosts2 ,
772.Pa $HOME/.ssh/known_hosts ,
f54651ce 773and
1d1ffb87 774.Pa $HOME/.ssh/known_hosts2
4fe2af09 775files contain host public keys for all known hosts.
776The global file should
777be prepared by the administrator (optional), and the per-user file is
c345cf9d 778maintained automatically: whenever the user connects from an unknown host
4fe2af09 779its key is added to the per-user file.
bf740959 780.Pp
781Each line in these files contains the following fields: hostnames,
4fe2af09 782bits, exponent, modulus, comment.
783The fields are separated by spaces.
bf740959 784.Pp
785Hostnames is a comma-separated list of patterns ('*' and '?' act as
786wildcards); each pattern in turn is matched against the canonical host
787name (when authenticating a client) or against the user-supplied
4fe2af09 788name (when authenticating a server).
789A pattern may also be preceded by
bf740959 790.Ql !
791to indicate negation: if the host name matches a negated
792pattern, it is not accepted (by that line) even if it matched another
793pattern on the line.
794.Pp
1d1ffb87 795Bits, exponent, and modulus are taken directly from the RSA host key; they
bf740959 796can be obtained, e.g., from
5f4fdfae 797.Pa /etc/ssh_host_key.pub .
bf740959 798The optional comment field continues to the end of the line, and is not used.
799.Pp
800Lines starting with
801.Ql #
802and empty lines are ignored as comments.
803.Pp
804When performing host authentication, authentication is accepted if any
4fe2af09 805matching line has the proper key.
806It is thus permissible (but not
bf740959 807recommended) to have several lines or different host keys for the same
4fe2af09 808names.
809This will inevitably happen when short forms of host names
810from different domains are put in the file.
811It is possible
bf740959 812that the files contain conflicting information; authentication is
813accepted if valid information can be found from either file.
814.Pp
815Note that the lines in these files are typically hundreds of characters
816long, and you definitely don't want to type in the host keys by hand.
817Rather, generate them by a script
f54651ce 818or by taking
5f4fdfae 819.Pa /etc/ssh_host_key.pub
bf740959 820and adding the host names at the front.
821.Ss Examples
822closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
823.Sh FILES
824.Bl -tag -width Ds
5f4fdfae 825.It Pa /etc/sshd_config
bf740959 826Contains configuration data for
827.Nm sshd .
828This file should be writable by root only, but it is recommended
829(though not necessary) that it be world-readable.
5f4fdfae 830.It Pa /etc/ssh_host_key
bf740959 831Contains the private part of the host key.
832This file should only be owned by root, readable only by root, and not
833accessible to others.
834Note that
835.Nm
836does not start if this file is group/world-accessible.
5f4fdfae 837.It Pa /etc/ssh_host_key.pub
bf740959 838Contains the public part of the host key.
839This file should be world-readable but writable only by
4fe2af09 840root.
841Its contents should match the private part.
842This file is not
bf740959 843really used for anything; it is only provided for the convenience of
844the user so its contents can be copied to known hosts files.
845These two files are created using
846.Xr ssh-keygen 1 .
5f4fdfae 847.It Pa /var/run/sshd.pid
bf740959 848Contains the process ID of the
849.Nm
850listening for connections (if there are several daemons running
851concurrently for different ports, this contains the pid of the one
4fe2af09 852started last).
c345cf9d 853The content of this file is not sensitive; it can be world-readable.
bf740959 854.It Pa $HOME/.ssh/authorized_keys
855Lists the RSA keys that can be used to log into the user's account.
856This file must be readable by root (which may on some machines imply
857it being world-readable if the user's home directory resides on an NFS
4fe2af09 858volume).
859It is recommended that it not be accessible by others.
860The format of this file is described above.
1d1ffb87 861Users will place the contents of their
862.Pa identity.pub
863files into this file, as described in
864.Xr ssh-keygen 1 .
865.It Pa $HOME/.ssh/authorized_keys2
866Lists the DSA keys that can be used to log into the user's account.
867This file must be readable by root (which may on some machines imply
868it being world-readable if the user's home directory resides on an NFS
869volume).
870It is recommended that it not be accessible by others.
871The format of this file is described above.
872Users will place the contents of their
873.Pa id_dsa.pub
874files into this file, as described in
875.Xr ssh-keygen 1 .
5f4fdfae 876.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"
6a17f9c2 877These files are consulted when using rhosts with RSA host
4fe2af09 878authentication to check the public key of the host.
879The key must be listed in one of these files to be accepted.
5bbb5681 880The client uses the same files
c345cf9d 881to verify that the remote host is the one it intended to connect.
4fe2af09 882These files should be writable only by root/the owner.
5f4fdfae 883.Pa /etc/ssh_known_hosts
bf740959 884should be world-readable, and
885.Pa $HOME/.ssh/known_hosts
886can but need not be world-readable.
887.It Pa /etc/nologin
f54651ce 888If this file exists,
bf740959 889.Nm
4fe2af09 890refuses to let anyone except root log in.
891The contents of the file
bf740959 892are displayed to anyone trying to log in, and non-root connections are
4fe2af09 893refused.
894The file should be world-readable.
bf740959 895.It Pa /etc/hosts.allow, /etc/hosts.deny
896If compiled with
897.Sy LIBWRAP
898support, tcp-wrappers access controls may be defined here as described in
899.Xr hosts_access 5 .
900.It Pa $HOME/.rhosts
901This file contains host-username pairs, separated by a space, one per
4fe2af09 902line.
903The given user on the corresponding host is permitted to log in
904without password.
905The same file is used by rlogind and rshd.
bf740959 906The file must
907be writable only by the user; it is recommended that it not be
908accessible by others.
909.Pp
4fe2af09 910If is also possible to use netgroups in the file.
911Either host or user
bf740959 912name may be of the form +@groupname to specify all hosts or all users
913in the group.
914.It Pa $HOME/.shosts
915For ssh,
916this file is exactly the same as for
917.Pa .rhosts .
918However, this file is
919not used by rlogin and rshd, so using this permits access using SSH only.
c345cf9d 920.It Pa /etc/hosts.equiv
bf740959 921This file is used during
922.Pa .rhosts
4fe2af09 923authentication.
924In the simplest form, this file contains host names, one per line.
925Users on
bf740959 926those hosts are permitted to log in without a password, provided they
4fe2af09 927have the same user name on both machines.
928The host name may also be
bf740959 929followed by a user name; such users are permitted to log in as
930.Em any
4fe2af09 931user on this machine (except root).
932Additionally, the syntax
bf740959 933.Dq +@group
4fe2af09 934can be used to specify netgroups.
935Negated entries start with
bf740959 936.Ql \&- .
937.Pp
938If the client host/user is successfully matched in this file, login is
939automatically permitted provided the client and server user names are the
4fe2af09 940same.
941Additionally, successful RSA host authentication is normally required.
942This file must be writable only by root; it is recommended
bf740959 943that it be world-readable.
944.Pp
945.Sy "Warning: It is almost never a good idea to use user names in"
946.Pa hosts.equiv .
947Beware that it really means that the named user(s) can log in as
948.Em anybody ,
949which includes bin, daemon, adm, and other accounts that own critical
4fe2af09 950binaries and directories.
951Using a user name practically grants the user root access.
952The only valid use for user names that I can think
bf740959 953of is in negative entries.
954.Pp
955Note that this warning also applies to rsh/rlogin.
5f4fdfae 956.It Pa /etc/shosts.equiv
bf740959 957This is processed exactly as
958.Pa /etc/hosts.equiv .
959However, this file may be useful in environments that want to run both
960rsh/rlogin and ssh.
961.It Pa $HOME/.ssh/environment
4fe2af09 962This file is read into the environment at login (if it exists).
963It can only contain empty lines, comment lines (that start with
bf740959 964.Ql # ) ,
4fe2af09 965and assignment lines of the form name=value.
966The file should be writable
bf740959 967only by the user; it need not be readable by anyone else.
968.It Pa $HOME/.ssh/rc
969If this file exists, it is run with /bin/sh after reading the
4fe2af09 970environment files but before starting the user's shell or command.
971If X11 spoofing is in use, this will receive the "proto cookie" pair in
bf740959 972standard input (and
973.Ev DISPLAY
4fe2af09 974in environment).
975This must call
bf740959 976.Xr xauth 1
977in that case.
978.Pp
979The primary purpose of this file is to run any initialization routines
980which may be needed before the user's home directory becomes
981accessible; AFS is a particular example of such an environment.
982.Pp
983This file will probably contain some initialization code followed by
984something similar to: "if read proto cookie; then echo add $DISPLAY
985$proto $cookie | xauth -q -; fi".
986.Pp
987If this file does not exist,
5f4fdfae 988.Pa /etc/sshrc
bf740959 989is run, and if that
990does not exist either, xauth is used to store the cookie.
991.Pp
992This file should be writable only by the user, and need not be
993readable by anyone else.
5f4fdfae 994.It Pa /etc/sshrc
bf740959 995Like
996.Pa $HOME/.ssh/rc .
997This can be used to specify
4fe2af09 998machine-specific login-time initializations globally.
999This file should be writable only by root, and should be world-readable.
089fbbd2 1000.El
bf740959 1001.Sh AUTHOR
bf740959 1002OpenSSH
c8d54615 1003is a derivative of the original (free) ssh 1.2.12 release by Tatu Ylonen,
4fe2af09 1004but with bugs removed and newer features re-added.
1005Rapidly after the
c8d54615 10061.2.12 release, newer versions of the original ssh bore successively
1007more restrictive licenses, and thus demand for a free version was born.
1d1ffb87 1008.Pp
c8d54615 1009This version of OpenSSH
bf740959 1010.Bl -bullet
1011.It
371ecff9 1012has all components of a restrictive nature (i.e., patents)
bf740959 1013directly removed from the source code; any licensed or patented components
1014are chosen from
1015external libraries.
1016.It
1d1ffb87 1017has been updated to support SSH protocol 1.5 and 2, making it compatible with
1018all other SSH clients and servers.
bf740959 1019.It
f54651ce 1020contains added support for
bf740959 1021.Xr kerberos 8
1022authentication and ticket passing.
1023.It
1024supports one-time password authentication with
1025.Xr skey 1 .
1026.El
1d1ffb87 1027.Pp
1028OpenSSH has been created by Aaron Campbell, Bob Beck, Markus Friedl,
1029Niels Provos, Theo de Raadt, and Dug Song.
1030.Pp
1031The support for SSH protocol 2 was written by Markus Friedl.
bf740959 1032.Sh SEE ALSO
bf740959 1033.Xr scp 1 ,
1034.Xr ssh 1 ,
1035.Xr ssh-add 1 ,
1036.Xr ssh-agent 1 ,
1037.Xr ssh-keygen 1 ,
7368a6c8 1038.Xr rlogin 1 ,
1039.Xr rsh 1
This page took 0.401305 seconds and 5 git commands to generate.