[BACK]Return to sshd.8 CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/sshd.8 between version 1.120.2.6 and 1.121

version 1.120.2.6, 2002/06/02 22:56:11 version 1.121, 2001/05/04 14:21:56
Line 43 
Line 43 
 .Nd OpenSSH SSH daemon  .Nd OpenSSH SSH daemon
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .Nm sshd  .Nm sshd
 .Op Fl deiqtD46  .Op Fl deiqD46
 .Op Fl b Ar bits  .Op Fl b Ar bits
 .Op Fl f Ar config_file  .Op Fl f Ar config_file
 .Op Fl g Ar login_grace_time  .Op Fl g Ar login_grace_time
 .Op Fl h Ar host_key_file  .Op Fl h Ar host_key_file
 .Op Fl k Ar key_gen_time  .Op Fl k Ar key_gen_time
 .Op Fl o Ar option  
 .Op Fl p Ar port  .Op Fl p Ar port
 .Op Fl u Ar len  .Op Fl u Ar len
   .Op Fl V Ar client_protocol_id
 .Sh DESCRIPTION  .Sh DESCRIPTION
 .Nm  .Nm
 (SSH Daemon) is the daemon program for  (SSH Daemon) is the daemon program for
Line 116 
Line 116 
 because it is fundamentally insecure, but can be enabled in the server  because it is fundamentally insecure, but can be enabled in the server
 configuration file if desired.  configuration file if desired.
 System security is not improved unless  System security is not improved unless
 .Nm rshd ,  .Xr rshd 8 ,
 .Nm rlogind ,  .Xr rlogind 8 ,
   .Xr rexecd 8 ,
 and  and
 .Xr rexecd  .Xr rexd 8
 are disabled (thus completely disabling  are disabled (thus completely disabling
 .Xr rlogin  .Xr rlogin 1
 and  and
 .Xr rsh  .Xr rsh 1
 into the machine).  into the machine).
 .Pp  .Pp
 .Ss SSH protocol version 2  .Ss SSH protocol version 2
 .Pp  .Pp
 Version 2 works similarly:  Version 2 works similarly:
 Each host has a host-specific key (RSA or DSA) used to identify the host.  Each host has a host-specific DSA key used to identify the host.
 However, when the daemon starts, it does not generate a server key.  However, when the daemon starts, it does not generate a server key.
 Forward security is provided through a Diffie-Hellman key agreement.  Forward security is provided through a Diffie-Hellman key agreement.
 This key agreement results in a shared session key.  This key agreement results in a shared session key.
Line 175 
Line 176 
 .Nm  .Nm
 rereads its configuration file when it receives a hangup signal,  rereads its configuration file when it receives a hangup signal,
 .Dv SIGHUP ,  .Dv SIGHUP ,
 by executing itself with the name it was started as, i.e.,  by executing itself with the name it was started as, ie.
 .Pa /usr/sbin/sshd .  .Pa /usr/sbin/sshd .
 .Pp  .Pp
 The options are as follows:  The options are as follows:
Line 183 
Line 184 
 .It Fl b Ar bits  .It Fl b Ar bits
 Specifies the number of bits in the ephemeral protocol version 1  Specifies the number of bits in the ephemeral protocol version 1
 server key (default 768).  server key (default 768).
   .Pp
 .It Fl d  .It Fl d
 Debug mode.  Debug mode.
 The server sends verbose debug output to the system  The server sends verbose debug output to the system
Line 208 
Line 210 
 this many seconds, the server disconnects and exits.  this many seconds, the server disconnects and exits.
 A value of zero indicates no limit.  A value of zero indicates no limit.
 .It Fl h Ar host_key_file  .It Fl h Ar host_key_file
 Specifies a file from which a host key is read.  Specifies the file from which the host key is read (default
   .Pa /etc/ssh_host_key ) .
 This option must be given if  This option must be given if
 .Nm  .Nm
 is not run as root (as the normal  is not run as root (as the normal
 host key files are normally not readable by anyone but root).  host file is normally not readable by anyone but root).
 The default is  
 .Pa /etc/ssh_host_key  
 for protocol version 1, and  
 .Pa /etc/ssh_host_rsa_key  
 and  
 .Pa /etc/ssh_host_dsa_key  
 for protocol version 2.  
 It is possible to have multiple host key files for  It is possible to have multiple host key files for
 the different protocol versions and host key algorithms.  the different protocol versions and host key algorithms.
 .It Fl i  .It Fl i
Line 244 
Line 240 
 communications even if the machine is cracked into or physically  communications even if the machine is cracked into or physically
 seized.  seized.
 A value of zero indicates that the key will never be regenerated.  A value of zero indicates that the key will never be regenerated.
 .It Fl o Ar option  
 Can be used to give options in the format used in the configuration file.  
 This is useful for specifying options for which there is no separate  
 command-line flag.  
 .It Fl p Ar port  .It Fl p Ar port
 Specifies the port on which the server listens for connections  Specifies the port on which the server listens for connections
 (default 22).  (default 22).
 Multiple port options are permitted.  
 Ports specified in the configuration file are ignored when a  
 command-line port is specified.  
 .It Fl q  .It Fl q
 Quiet mode.  Quiet mode.
 Nothing is sent to the system log.  Nothing is sent to the system log.
 Normally the beginning,  Normally the beginning,
 authentication, and termination of each connection is logged.  authentication, and termination of each connection is logged.
 .It Fl t  
 Test mode.  
 Only check the validity of the configuration file and sanity of the keys.  
 This is useful for updating  
 .Nm  
 reliably as configuration options may change.  
 .It Fl u Ar len  .It Fl u Ar len
 This option is used to specify the size of the field  This option is used to specify the size of the field
 in the  in the
Line 281 
Line 264 
 should be put into the  should be put into the
 .Pa utmp  .Pa utmp
 file.  file.
 .Fl u0  
 is also be used to prevent  
 .Nm  
 from making DNS requests unless the authentication  
 mechanism or configuration requires it.  
 Authentication mechanisms that may require DNS include  
 .Cm RhostsAuthentication ,  
 .Cm RhostsRSAAuthentication ,  
 .Cm HostbasedAuthentication  
 and using a  
 .Cm from="pattern-list"  
 option in a key file.  
 Configuration options that require DNS include using a  
 USER@HOST pattern in  
 .Cm AllowUsers  
 or  
 .Cm DenyUsers .  
 .It Fl D  .It Fl D
 When this option is specified  When this option is specified
 .Nm  .Nm
Line 320 
Line 286 
 (or the file specified with  (or the file specified with
 .Fl f  .Fl f
 on the command line).  on the command line).
 The file contains keyword-argument pairs, one per line.  The file contains keyword-value pairs, one per line.
 Lines starting with  Lines starting with
 .Ql #  .Ql #
 and empty lines are interpreted as comments.  and empty lines are interpreted as comments.
 .Pp  .Pp
 The possible  The following keywords are possible.
 keywords and their meanings are as follows (note that  
 keywords are case-insensitive and arguments are case-sensitive):  
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Cm AFSTokenPassing  .It Cm AFSTokenPassing
 Specifies whether an AFS token may be forwarded to the server.  Specifies whether an AFS token may be forwarded to the server.
 Default is  Default is
 .Dq no .  .Dq yes .
 .It Cm AllowGroups  .It Cm AllowGroups
 This keyword can be followed by a list of group name patterns, separated  This keyword can be followed by a list of group names, separated
 by spaces.  by spaces.
 If specified, login is allowed only for users whose primary  If specified, login is allowed only for users whose primary
 group or supplementary group list matches one of the patterns.  group or supplementary group list matches one of the patterns.
Line 343 
Line 307 
 .Ql ?  .Ql ?
 can be used as  can be used as
 wildcards in the patterns.  wildcards in the patterns.
 Only group names are valid; a numerical group ID is not recognized.  Only group names are valid; a numerical group ID isn't recognized.
 By default, login is allowed for all groups.  By default login is allowed regardless of the group list.
 .Pp  .Pp
 .It Cm AllowTcpForwarding  .It Cm AllowTcpForwarding
 Specifies whether TCP forwarding is permitted.  Specifies whether TCP forwarding is permitted.
Line 355 
Line 319 
 own forwarders.  own forwarders.
 .Pp  .Pp
 .It Cm AllowUsers  .It Cm AllowUsers
 This keyword can be followed by a list of user name patterns, separated  This keyword can be followed by a list of user names, separated
 by spaces.  by spaces.
 If specified, login is allowed only for users names that  If specified, login is allowed only for users names that
 match one of the patterns.  match one of the patterns.
Line 364 
Line 328 
 .Ql ?  .Ql ?
 can be used as  can be used as
 wildcards in the patterns.  wildcards in the patterns.
 Only user names are valid; a numerical user ID is not recognized.  Only user names are valid; a numerical user ID isn't recognized.
 By default, login is allowed for all users.  By default login is allowed regardless of the user name.
 If the pattern takes the form USER@HOST then USER and HOST  
 are separately checked, restricting logins to particular  
 users from particular hosts.  
 .Pp  .Pp
 .It Cm AuthorizedKeysFile  
 Specifies the file that contains the public keys that can be used  
 for user authentication.  
 .Cm AuthorizedKeysFile  
 may contain tokens of the form %T which are substituted during connection  
 set-up. The following tokens are defined: %% is replaced by a literal '%',  
 %h is replaced by the home directory of the user being authenticated and  
 %u is replaced by the username of that user.  
 After expansion,  
 .Cm AuthorizedKeysFile  
 is taken to be an absolute path or one relative to the user's home  
 directory.  
 The default is  
 .Dq .ssh/authorized_keys .  
 .It Cm Banner  .It Cm Banner
 In some jurisdictions, sending a warning message before authentication  In some jurisdictions, sending a warning message before authentication
 may be relevant for getting legal protection.  may be relevant for getting legal protection.
 The contents of the specified file are sent to the remote user before  The contents of the specified file are sent to the remote user before
 authentication is allowed.  authentication is allowed.
 This option is only available for protocol version 2.  This option is only available for protocol version 2.
 By default, no banner is displayed.  
 .Pp  .Pp
 .It Cm ChallengeResponseAuthentication  .It Cm ChallengeResponseAuthentication
 Specifies whether challenge response authentication is allowed.  Specifies whether
 All authentication styles from  challenge response
 .Xr login.conf 5  authentication is allowed.
 are supported.  Currently there is only support for
   .Xr skey 1
   authentication.
 The default is  The default is
 .Dq yes .  .Dq yes .
 .It Cm Ciphers  .It Cm Ciphers
 Specifies the ciphers allowed for protocol version 2.  Specifies the ciphers allowed for protocol version 2.
 Multiple ciphers must be comma-separated.  Multiple ciphers must be comma-separated.
 The default is  The default is
 .Pp  .Dq aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour.
 .Bd -literal  .It Cm CheckMail
   ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,  Specifies whether
     aes192-cbc,aes256-cbc''  .Nm
 .Ed  should check for new mail for interactive logins.
   The default is
   .Dq no .
 .It Cm ClientAliveInterval  .It Cm ClientAliveInterval
 Sets a timeout interval in seconds after which if no data has been received  Sets a timeout interval in seconds after which if no data has been received
 from the client,  from the client,
 .Nm  .Nm
 will send a message through the encrypted  will send a message through the encrypted
 channel to request a response from the client.  channel to request a response from the client.
Line 422 
Line 372 
 sent without  sent without
 .Nm  .Nm
 receiving any messages back from the client. If this threshold is  receiving any messages back from the client. If this threshold is
 reached while client alive messages are being sent,  reached while client alive messages are being sent,
 .Nm  .Nm
 will disconnect the client, terminating the session. It is important  will disconnect the client, terminating the session. It is important
 to note that the use of client alive messages is very different from  to note that the use of client alive messages is very different from
 .Cm KeepAlive  .Cm Keepalive
 (below). The client alive messages are sent through the  (below). The client alive messages are sent through the
 encrypted channel and therefore will not be spoofable. The TCP keepalive  encrypted channel and therefore will not be spoofable. The TCP keepalive
 option enabled by  option enabled by
 .Cm KeepAlive  .Cm Keepalive
 is spoofable. The client alive mechanism is valuable when the client or  is spoofable. You want to use the client
 server depend on knowing when a connection has become inactive.  alive mechanism when you are basing something important on
   clients having an active connection to the server.
 .Pp  .Pp
 The default value is 3. If  The default value is 3. If you set
 .Cm ClientAliveInterval  .Cm ClientAliveInterval
 (above) is set to 15, and  (above) to 15, and leave this value at the default, unresponsive ssh clients
 .Cm ClientAliveCountMax  will be disconnected after approximately 45 seconds.
 is left at the default, unresponsive ssh clients  
 will be disconnected after approximately 45 seconds.  
 .It Cm DenyGroups  .It Cm DenyGroups
 This keyword can be followed by a list of group name patterns, separated  This keyword can be followed by a number of group names, separated
 by spaces.  by spaces.
 Login is disallowed for users whose primary group or supplementary  Users whose primary group or supplementary group list matches
 group list matches one of the patterns.  one of the patterns aren't allowed to log in.
 .Ql \&*  .Ql \&*
 and  and
 .Ql ?  .Ql ?
 can be used as  can be used as
 wildcards in the patterns.  wildcards in the patterns.
 Only group names are valid; a numerical group ID is not recognized.  Only group names are valid; a numerical group ID isn't recognized.
 By default, login is allowed for all groups.  By default login is allowed regardless of the group list.
 .Pp  .Pp
 .It Cm DenyUsers  .It Cm DenyUsers
 This keyword can be followed by a list of user name patterns, separated  This keyword can be followed by a number of user names, separated
 by spaces.  by spaces.
 Login is disallowed for user names that match one of the patterns.  Login is disallowed for user names that match one of the patterns.
 .Ql \&*  .Ql \&*
 and  and
 .Ql ?  .Ql ?
 can be used as wildcards in the patterns.  can be used as wildcards in the patterns.
 Only user names are valid; a numerical user ID is not recognized.  Only user names are valid; a numerical user ID isn't recognized.
 By default, login is allowed for all users.  By default login is allowed regardless of the user name.
 If the pattern takes the form USER@HOST then USER and HOST  
 are separately checked, restricting logins to particular  
 users from particular hosts.  
 .It Cm GatewayPorts  .It Cm GatewayPorts
 Specifies whether remote hosts are allowed to connect to ports  Specifies whether remote hosts are allowed to connect to ports
 forwarded for the client.  forwarded for the client.
 By default,  
 .Nm  
 binds remote port forwardings to the loopback addresss.  This  
 prevents other remote hosts from connecting to forwarded ports.  
 .Cm GatewayPorts  
 can be used to specify that  
 .Nm  
 should bind remote port forwardings to the wildcard address,  
 thus allowing remote hosts to connect to forwarded ports.  
 The argument must be  The argument must be
 .Dq yes  .Dq yes
 or  or
Line 494 
Line 431 
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm HostKey  .It Cm HostKey
 Specifies a file containing a private host key  Specifies the file containing the private host keys (default
 used by SSH.  .Pa /etc/ssh_host_key )
 The default is  used by SSH protocol versions 1 and 2.
 .Pa /etc/ssh_host_key  
 for protocol version 1, and  
 .Pa /etc/ssh_host_rsa_key  
 and  
 .Pa /etc/ssh_host_dsa_key  
 for protocol version 2.  
 Note that  Note that
 .Nm  .Nm
 will refuse to use a file if it is group/world-accessible.  will refuse to use a file if it is group/world-accessible.
Line 542 
Line 473 
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm KeepAlive  .It Cm KeepAlive
 Specifies whether the system should send TCP keepalive messages to the  Specifies whether the system should send keepalive messages to the
 other side.  other side.
 If they are sent, death of the connection or crash of one  If they are sent, death of the connection or crash of one
 of the machines will be properly noticed.  of the machines will be properly noticed.
Line 557 
Line 488 
 The default is  The default is
 .Dq yes  .Dq yes
 (to send keepalives), and the server will notice  (to send keepalives), and the server will notice
 if the network goes down or the client host crashes.  if the network goes down or the client host reboots.
 This avoids infinitely hanging sessions.  This avoids infinitely hanging sessions.
 .Pp  .Pp
 To disable keepalives, the value should be set to  To disable keepalives, the value should be set to
 .Dq no .  .Dq no
   in both the server and the client configuration files.
 .It Cm KerberosAuthentication  .It Cm KerberosAuthentication
 Specifies whether Kerberos authentication is allowed.  Specifies whether Kerberos authentication is allowed.
 This can be in the form of a Kerberos ticket, or if  This can be in the form of a Kerberos ticket, or if
Line 571 
Line 503 
 To use this option, the server needs a  To use this option, the server needs a
 Kerberos servtab which allows the verification of the KDC's identity.  Kerberos servtab which allows the verification of the KDC's identity.
 Default is  Default is
 .Dq no .  .Dq yes .
 .It Cm KerberosOrLocalPasswd  .It Cm KerberosOrLocalPasswd
 If set then if password authentication through Kerberos fails then  If set then if password authentication through Kerberos fails then
 the password will be validated via any additional local mechanism  the password will be validated via any additional local mechanism
Line 644 
Line 576 
 Gives the verbosity level that is used when logging messages from  Gives the verbosity level that is used when logging messages from
 .Nm sshd .  .Nm sshd .
 The possible values are:  The possible values are:
 QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.  QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG.
 The default is INFO.  DEBUG and DEBUG1 are equivalent.  DEBUG2  The default is INFO.
 and DEBUG3 each specify higher levels of debugging output.  Logging with level DEBUG violates the privacy of users
 Logging with a DEBUG level violates the privacy of users  
 and is not recommended.  and is not recommended.
 .It Cm MACs  .It Cm MACs
 Specifies the available MAC (message authentication code) algorithms.  Specifies the available MAC (message authentication code) algorithms.
Line 655 
Line 586 
 for data integrity protection.  for data integrity protection.
 Multiple algorithms must be comma-separated.  Multiple algorithms must be comma-separated.
 The default is  The default is
 .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .  .Pp
   .Bd -literal
     ``hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,
       hmac-sha1-96,hmac-md5-96''
   .Ed
 .It Cm MaxStartups  .It Cm MaxStartups
 Specifies the maximum number of concurrent unauthenticated connections to the  Specifies the maximum number of concurrent unauthenticated connections to the
 .Nm  .Nm
Line 766 
Line 701 
 The default is  The default is
 .Dq yes .  .Dq yes .
 Note that this option applies to protocol version 2 only.  Note that this option applies to protocol version 2 only.
   .It Cm ReverseMappingCheck
   Specifies whether
   .Nm
   should try to verify the remote host name and check that
   the resolved host name for the remote IP address maps back to the
   very same IP address.
   The default is
   .Dq no .
 .It Cm RhostsAuthentication  .It Cm RhostsAuthentication
 Specifies whether authentication using rhosts or /etc/hosts.equiv  Specifies whether authentication using rhosts or /etc/hosts.equiv
 files is sufficient.  files is sufficient.
Line 821 
Line 764 
 Specifies whether  Specifies whether
 .Xr login 1  .Xr login 1
 is used for interactive login sessions.  is used for interactive login sessions.
 The default is  
 .Dq no .  
 Note that  Note that
 .Xr login 1  .Xr login 1
 is never used for remote command execution.  is never used for remote command execution.
 Note also, that if this is enabled,  
 .Cm X11Forwarding  
 will be disabled because  
 .Xr login 1  
 does not know how to handle  
 .Xr xauth 1  
 cookies.  If  
 .Cm UsePrivilegeSeparation  
 is specified, it will be disabled after authentication.  
 .It Cm UsePrivilegeSeparation  
 Specifies whether  
 .Nm  
 separated privileges by creating an unprivileged child process  
 to deal with incoming network traffic.  After successful authentication,  
 another process will be created that has the privilege of the authenticated  
 user.  The goal of privilege separation is to prevent privilege  
 escalation by containing any corruption within the unprivileged processes.  
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm VerifyReverseMapping  
 Specifies whether  
 .Nm  
 should try to verify the remote host name and check that  
 the resolved host name for the remote IP address maps back to the  
 very same IP address.  
 The default is  
 .Dq no .  
 .It Cm X11DisplayOffset  .It Cm X11DisplayOffset
 Specifies the first display number available for  Specifies the first display number available for
 .Nm sshd Ns 's  .Nm sshd Ns 's
Line 867 
Line 783 
 .Dq no .  .Dq no .
 Note that disabling X11 forwarding does not improve security in any  Note that disabling X11 forwarding does not improve security in any
 way, as users can always install their own forwarders.  way, as users can always install their own forwarders.
 X11 forwarding is automatically disabled if  
 .Cm UseLogin  
 is enabled.  
 .It Cm X11UseLocalhost  
 Specifies whether  
 .Nm  
 should bind the X11 forwarding server to the loopback address or to  
 the wildcard address.  By default,  
 .Nm  
 binds the forwarding server to the loopback address and sets the  
 hostname part of the  
 .Ev DISPLAY  
 environment variable to  
 .Dq localhost .  
 This prevents remote hosts from connecting to the fake display.  
 However, some older X11 clients may not function with this  
 configuration.  
 .Cm X11UseLocalhost  
 may be set to  
 .Dq no  
 to specify that the forwarding server should be bound to the wildcard  
 address.  
 The argument must be  
 .Dq yes  
 or  
 .Dq no .  
 The default is  
 .Dq yes .  
 .It Cm XAuthLocation  .It Cm XAuthLocation
 Specifies the location of the  Specifies the location of the
 .Xr xauth 1  .Xr xauth 1
Line 902 
Line 790 
 The default is  The default is
 .Pa /usr/X11R6/bin/xauth .  .Pa /usr/X11R6/bin/xauth .
 .El  .El
 .Ss Time Formats  
 .Pp  
 .Nm  
 command-line arguments and configuration file options that specify time  
 may be expressed using a sequence of the form:  
 .Sm off  
 .Ar time Oo Ar qualifier Oc ,  
 .Sm on  
 where  
 .Ar time  
 is a positive integer value and  
 .Ar qualifier  
 is one of the following:  
 .Pp  
 .Bl -tag -width Ds -compact -offset indent  
 .It Cm <none>  
 seconds  
 .It Cm s | Cm S  
 seconds  
 .It Cm m | Cm M  
 minutes  
 .It Cm h | Cm H  
 hours  
 .It Cm d | Cm D  
 days  
 .It Cm w | Cm W  
 weeks  
 .El  
 .Pp  
 Each member of the sequence is added together to calculate  
 the total time value.  
 .Pp  
 Time format examples:  
 .Pp  
 .Bl -tag -width Ds -compact -offset indent  
 .It 600  
 600 seconds (10 minutes)  
 .It 10m  
 10 minutes  
 .It 1h30m  
 1 hour 30 minutes (90 minutes)  
 .El  
 .Sh LOGIN PROCESS  .Sh LOGIN PROCESS
 When a user successfully logs in,  When a user successfully logs in,
 .Nm  .Nm
Line 990 
Line 836 
 Runs user's shell or command.  Runs user's shell or command.
 .El  .El
 .Sh AUTHORIZED_KEYS FILE FORMAT  .Sh AUTHORIZED_KEYS FILE FORMAT
   The
 .Pa $HOME/.ssh/authorized_keys  .Pa $HOME/.ssh/authorized_keys
 is the default file that lists the public keys that are  file lists the RSA keys that are
 permitted for RSA authentication in protocol version 1  permitted for RSA authentication in protocol version 1.
 and for public key authentication (PubkeyAuthentication)  Similarly, the
   .Pa $HOME/.ssh/authorized_keys2
   file lists the DSA and RSA keys that are
   permitted for public key authentication (PubkeyAuthentication)
 in protocol version 2.  in protocol version 2.
 .Cm AuthorizedKeysFile  
 may be used to specify an alternative file.  
 .Pp  .Pp
 Each line of the file contains one  Each line of the file contains one
 key (empty lines and lines starting with a  key (empty lines and lines starting with a
Line 1028 
Line 876 
 .Pa id_rsa.pub  .Pa id_rsa.pub
 file and edit it.  file and edit it.
 .Pp  .Pp
 .Nm  
 enforces a minimum RSA key modulus size for protocol 1  
 and protocol 2 keys of 768 bits.  
 .Pp  
 The options (if present) consist of comma-separated option  The options (if present) consist of comma-separated option
 specifications.  specifications.
 No spaces are permitted, except within double quotes.  No spaces are permitted, except within double quotes.
 The following option specifications are supported (note  The following option specifications are supported:
 that option keywords are case-insensitive):  
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Cm from="pattern-list"  .It Cm from="pattern-list"
 Specifies that in addition to RSA authentication, the canonical name  Specifies that in addition to RSA authentication, the canonical name
Line 1062 
Line 905 
 Specifies that the command is executed whenever this key is used for  Specifies that the command is executed whenever this key is used for
 authentication.  authentication.
 The command supplied by the user (if any) is ignored.  The command supplied by the user (if any) is ignored.
 The command is run on a pty if the client requests a pty;  The command is run on a pty if the connection requests a pty;
 otherwise it is run without a tty.  otherwise it is run without a tty.
 If a 8-bit clean channel is required,  Note that if you want a 8-bit clean channel,
 one must not request a pty or should specify  you must not request a pty or should specify
 .Cm no-pty .  .Cm no-pty .
 A quote may be included in the command by quoting it with a backslash.  A quote may be included in the command by quoting it with a backslash.
 This option might be useful  This option might be useful
Line 1073 
Line 916 
 An example might be a key that permits remote backups but nothing else.  An example might be a key that permits remote backups but nothing else.
 Note that the client may specify TCP/IP and/or X11  Note that the client may specify TCP/IP and/or X11
 forwarding unless they are explicitly prohibited.  forwarding unless they are explicitly prohibited.
 Note that this option applies to shell, command or subsystem execution.  
 .It Cm environment="NAME=value"  .It Cm environment="NAME=value"
 Specifies that the string is to be added to the environment when  Specifies that the string is to be added to the environment when
 logging in using this key.  logging in using this key.
 Environment variables set this way  Environment variables set this way
 override other default environment values.  override other default environment values.
 Multiple options of this type are permitted.  Multiple options of this type are permitted.
 This option is automatically disabled if  
 .Cm UseLogin  
 is enabled.  
 .It Cm no-port-forwarding  .It Cm no-port-forwarding
 Forbids TCP/IP forwarding when this key is used for authentication.  Forbids TCP/IP forwarding when this key is used for authentication.
 Any port forward requests by the client will return an error.  Any port forward requests by the client will return an error.
Line 1098 
Line 937 
 .It Cm no-pty  .It Cm no-pty
 Prevents tty allocation (a request to allocate a pty will fail).  Prevents tty allocation (a request to allocate a pty will fail).
 .It Cm permitopen="host:port"  .It Cm permitopen="host:port"
 Limit local  Limit local
 .Li ``ssh -L''  .Li ``ssh -L''
 port forwarding such that it may only connect to the specified host and  port forwarding such that it may only connect to the specified host and
 port.  port. Multiple
 IPv6 addresses can be specified with an alternative syntax:  
 .Ar host/port .  
 Multiple  
 .Cm permitopen  .Cm permitopen
 options may be applied separated by commas. No pattern matching is  options may be applied separated by commas. No pattern matching is
 performed on the specified hostnames, they must be literal domains or  performed on the specified hostnames, they must be literal domains or
 addresses.  addresses.
 .El  .El
 .Ss Examples  .Ss Examples
Line 1121 
Line 957 
 .Sh SSH_KNOWN_HOSTS FILE FORMAT  .Sh SSH_KNOWN_HOSTS FILE FORMAT
 The  The
 .Pa /etc/ssh_known_hosts ,  .Pa /etc/ssh_known_hosts ,
   .Pa /etc/ssh_known_hosts2 ,
   .Pa $HOME/.ssh/known_hosts ,
 and  and
 .Pa $HOME/.ssh/known_hosts  .Pa $HOME/.ssh/known_hosts2
 files contain host public keys for all known hosts.  files contain host public keys for all known hosts.
 The global file should  The global file should
 be prepared by the administrator (optional), and the per-user file is  be prepared by the administrator (optional), and the per-user file is
Line 1198 
Line 1036 
 the user so their contents can be copied to known hosts files.  the user so their contents can be copied to known hosts files.
 These files are created using  These files are created using
 .Xr ssh-keygen 1 .  .Xr ssh-keygen 1 .
 .It Pa /etc/moduli  .It Pa /etc/primes
 Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange".  Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange".
 .It Pa /var/run/sshd.pid  .It Pa /var/run/sshd.pid
 Contains the process ID of the  Contains the process ID of the
Line 1208 
Line 1046 
 started last).  started last).
 The content of this file is not sensitive; it can be world-readable.  The content of this file is not sensitive; it can be world-readable.
 .It Pa $HOME/.ssh/authorized_keys  .It Pa $HOME/.ssh/authorized_keys
   Lists the RSA keys that can be used to log into the user's account.
   This file must be readable by root (which may on some machines imply
   it being world-readable if the user's home directory resides on an NFS
   volume).
   It is recommended that it not be accessible by others.
   The format of this file is described above.
   Users will place the contents of their
   .Pa identity.pub
   files into this file, as described in
   .Xr ssh-keygen 1 .
   .It Pa $HOME/.ssh/authorized_keys2
 Lists the public keys (RSA or DSA) that can be used to log into the user's account.  Lists the public keys (RSA or DSA) that can be used to log into the user's account.
 This file must be readable by root (which may on some machines imply  This file must be readable by root (which may on some machines imply
 it being world-readable if the user's home directory resides on an NFS  it being world-readable if the user's home directory resides on an NFS
Line 1215 
Line 1064 
 It is recommended that it not be accessible by others.  It is recommended that it not be accessible by others.
 The format of this file is described above.  The format of this file is described above.
 Users will place the contents of their  Users will place the contents of their
 .Pa identity.pub ,  
 .Pa id_dsa.pub  .Pa id_dsa.pub
 and/or  and/or
 .Pa id_rsa.pub  .Pa id_rsa.pub
Line 1223 
Line 1071 
 .Xr ssh-keygen 1 .  .Xr ssh-keygen 1 .
 .It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"  .It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"
 These files are consulted when using rhosts with RSA host  These files are consulted when using rhosts with RSA host
 authentication or protocol version 2 hostbased authentication  authentication to check the public key of the host.
 to check the public key of the host.  
 The key must be listed in one of these files to be accepted.  The key must be listed in one of these files to be accepted.
 The client uses the same files  The client uses the same files
 to verify that it is connecting to the correct remote host.  to verify that it is connecting to the correct remote host.
Line 1233 
Line 1080 
 should be world-readable, and  should be world-readable, and
 .Pa $HOME/.ssh/known_hosts  .Pa $HOME/.ssh/known_hosts
 can but need not be world-readable.  can but need not be world-readable.
   .It Pa "/etc/ssh_known_hosts2" and "$HOME/.ssh/known_hosts2"
   These files are consulted when using protocol version 2 hostbased
   authentication to check the public key of the host.
   The key must be listed in one of these files to be accepted.
   The client uses the same files
   to verify that it is connecting to the correct remote host.
   These files should be writable only by root/the owner.
   .Pa /etc/ssh_known_hosts2
   should be world-readable, and
   .Pa $HOME/.ssh/known_hosts2
   can but need not be world-readable.
 .It Pa /etc/nologin  .It Pa /etc/nologin
 If this file exists,  If this file exists,
 .Nm  .Nm
Line 1242 
Line 1100 
 refused.  refused.
 The file should be world-readable.  The file should be world-readable.
 .It Pa /etc/hosts.allow, /etc/hosts.deny  .It Pa /etc/hosts.allow, /etc/hosts.deny
 Access controls that should be enforced by tcp-wrappers are defined here.  If compiled with
 Further details are described in  .Sy LIBWRAP
   support, tcp-wrappers access controls may be defined here as described in
 .Xr hosts_access 5 .  .Xr hosts_access 5 .
 .It Pa $HOME/.rhosts  .It Pa $HOME/.rhosts
 This file contains host-username pairs, separated by a space, one per  This file contains host-username pairs, separated by a space, one per
Line 1316 
Line 1175 
 .It Pa $HOME/.ssh/rc  .It Pa $HOME/.ssh/rc
 If this file exists, it is run with /bin/sh after reading the  If this file exists, it is run with /bin/sh after reading the
 environment files but before starting the user's shell or command.  environment files but before starting the user's shell or command.
 It must not produce any output on stdout; stderr must be used  If X11 spoofing is in use, this will receive the "proto cookie" pair in
 instead.  standard input (and
 If X11 forwarding is in use, it will receive the "proto cookie" pair in  
 its standard input (and  
 .Ev DISPLAY  .Ev DISPLAY
 in its environment).  in environment).
 The script must call  This must call
 .Xr xauth 1  .Xr xauth 1
 because  in that case.
 .Nm  
 will not run xauth automatically to add X11 cookies.  
 .Pp  .Pp
 The primary purpose of this file is to run any initialization routines  The primary purpose of this file is to run any initialization routines
 which may be needed before the user's home directory becomes  which may be needed before the user's home directory becomes
Line 1335 
Line 1190 
 This file will probably contain some initialization code followed by  This file will probably contain some initialization code followed by
 something similar to:  something similar to:
 .Bd -literal  .Bd -literal
 if read proto cookie && [ -n "$DISPLAY" ]; then          if read proto cookie; then
         if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then                  echo add $DISPLAY $proto $cookie | xauth -q -
                 # X11UseLocalhost=yes  
                 xauth add unix:`echo $DISPLAY |  
                     cut -c11-` $proto $cookie  
         else  
                 # X11UseLocalhost=no  
                 xauth add $DISPLAY $proto $cookie  
         fi          fi
 fi  
 .Ed  .Ed
 .Pp  .Pp
 If this file does not exist,  If this file does not exist,
 .Pa /etc/sshrc  .Pa /etc/sshrc
 is run, and if that  is run, and if that
 does not exist either, xauth is used to add the cookie.  does not exist either, xauth is used to store the cookie.
 .Pp  .Pp
 This file should be writable only by the user, and need not be  This file should be writable only by the user, and need not be
 readable by anyone else.  readable by anyone else.
Line 1370 
Line 1218 
 created OpenSSH.  created OpenSSH.
 Markus Friedl contributed the support for SSH  Markus Friedl contributed the support for SSH
 protocol versions 1.5 and 2.0.  protocol versions 1.5 and 2.0.
 Niels Provos and Markus Friedl contributed support  
 for privilege separation.  
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr scp 1 ,  .Xr scp 1 ,
 .Xr sftp 1 ,  .Xr sftp 1 ,
   .Xr sftp-server 8 ,
 .Xr ssh 1 ,  .Xr ssh 1 ,
 .Xr ssh-add 1 ,  .Xr ssh-add 1 ,
 .Xr ssh-agent 1 ,  .Xr ssh-agent 1 ,
 .Xr ssh-keygen 1 ,  .Xr ssh-keygen 1 ,
 .Xr login.conf 5 ,  .Xr rlogin 1 ,
 .Xr moduli 5 ,  .Xr rsh 1
 .Xr sftp-server 8  
 .Rs  .Rs
 .%A T. Ylonen  .%A T. Ylonen
 .%A T. Kivinen  .%A T. Kivinen
Line 1389 
Line 1235 
 .%A T. Rinne  .%A T. Rinne
 .%A S. Lehtinen  .%A S. Lehtinen
 .%T "SSH Protocol Architecture"  .%T "SSH Protocol Architecture"
 .%N draft-ietf-secsh-architecture-12.txt  .%N draft-ietf-secsh-architecture-07.txt
 .%D January 2002  .%D January 2001
 .%O work in progress material  .%O work in progress material
 .Re  .Re
 .Rs  .Rs
Line 1398 
Line 1244 
 .%A N. Provos  .%A N. Provos
 .%A W. A. Simpson  .%A W. A. Simpson
 .%T "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol"  .%T "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol"
 .%N draft-ietf-secsh-dh-group-exchange-02.txt  .%N draft-ietf-secsh-dh-group-exchange-00.txt
 .%D January 2002  .%D January 2001
 .%O work in progress material  .%O work in progress material
 .Re  .Re

Legend:
Removed from v.1.120.2.6  
changed lines
  Added in v.1.121