[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.70 and 1.70.2.5

version 1.70, 2000/10/16 09:38:44 version 1.70.2.5, 2001/09/27 00:15:43
Line 10 
Line 10 
 .\" incompatible with the protocol description in the RFC file, it must be  .\" incompatible with the protocol description in the RFC file, it must be
 .\" called by a name other than "ssh" or "Secure Shell".  .\" called by a name other than "ssh" or "Secure Shell".
 .\"  .\"
 .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved.  .\" Copyright (c) 1999,2000 Markus Friedl.  All rights reserved.
 .\" Copyright (c) 1999 Aaron Campbell. All rights reserved.  .\" Copyright (c) 1999 Aaron Campbell.  All rights reserved.
 .\" Copyright (c) 1999 Theo de Raadt. All rights reserved.  .\" Copyright (c) 1999 Theo de Raadt.  All rights reserved.
 .\"  .\"
 .\" Redistribution and use in source and binary forms, with or without  .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions  .\" modification, are permitted provided that the following conditions
Line 40 
Line 40 
 .Os  .Os
 .Sh NAME  .Sh NAME
 .Nm sshd  .Nm sshd
 .Nd secure shell daemon  .Nd OpenSSH SSH daemon
 .Sh SYNOPSIS  .Sh SYNOPSIS
 .Nm sshd  .Nm sshd
 .Op Fl diqQ46  .Op Fl deiqtD46
 .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
Line 51 
Line 51 
 .Op Fl k Ar key_gen_time  .Op Fl k Ar key_gen_time
 .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
 (Secure Shell Daemon) is the daemon program for  (SSH Daemon) is the daemon program for
 .Xr ssh 1 .  .Xr ssh 1 .
 Together these programs replace rlogin and rsh, and  Together these programs replace rlogin and rsh, and
 provide secure encrypted communications between two untrusted hosts  provide secure encrypted communications between two untrusted hosts
Line 118 
Line 117 
 System security is not improved unless  System security is not improved unless
 .Xr rshd 8 ,  .Xr rshd 8 ,
 .Xr rlogind 8 ,  .Xr rlogind 8 ,
 .Xr rexecd 8 ,  
 and  and
 .Xr rexd 8  .Xr rexecd 8
 are disabled (thus completely disabling  are disabled (thus completely disabling
 .Xr rlogin 1  .Xr rlogin 1
 and  and
Line 130 
Line 128 
 .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 DSA key used to identify the host.  Each host has a host-specific key (RSA or DSA) 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.
 The rest of the session is encrypted  .Pp
 using a symmetric cipher, currently  The rest of the session is encrypted using a symmetric cipher, currently
 Blowfish, 3DES or CAST128 in CBC mode or Arcfour.  128 bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES, or 256 bit AES.
 The client selects the encryption algorithm  The client selects the encryption algorithm
 to use from those offered by the server.  to use from those offered by the server.
 Additionally, session integrity is provided  Additionally, session integrity is provided
Line 144 
Line 142 
 (hmac-sha1 or hmac-md5).  (hmac-sha1 or hmac-md5).
 .Pp  .Pp
 Protocol version 2 provides a public key based  Protocol version 2 provides a public key based
 user authentication method (DSAAuthentication)  user (PubkeyAuthentication) or
 and conventional password authentication.  client host (HostbasedAuthentication) authentication method,
   conventional password authentication and challenge response based methods.
 .Pp  .Pp
 .Ss Command execution and data forwarding  .Ss Command execution and data forwarding
 .Pp  .Pp
Line 174 
Line 173 
 .Pp  .Pp
 .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.,
   .Pa /usr/sbin/sshd .
 .Pp  .Pp
 The options are as follows:  The options are as follows:
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Fl b Ar bits  .It Fl b Ar bits
 Specifies the number of bits in the server key (default 768).  Specifies the number of bits in the ephemeral protocol version 1
 .Pp  server key (default 768).
 .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
 log, and does not put itself in the background.  log, and does not put itself in the background.
 The server also will not fork and will only process one connection.  The server also will not fork and will only process one connection.
 This option is only intended for debugging for the server.  This option is only intended for debugging for the server.
 Multiple -d options increases the debugging level.  Multiple -d options increase the debugging level.
 Maximum is 3.  Maximum is 3.
   .It Fl e
   When this option is specified,
   .Nm
   will send the output to the standard error instead of the system log.
 .It Fl f Ar configuration_file  .It Fl f Ar configuration_file
 Specifies the name of the configuration file.  Specifies the name of the configuration file.
 The default is  The default is
Line 197 
Line 202 
 refuses to start if there is no configuration file.  refuses to start if there is no configuration file.
 .It Fl g Ar login_grace_time  .It Fl g Ar login_grace_time
 Gives the grace time for clients to authenticate themselves (default  Gives the grace time for clients to authenticate themselves (default
 300 seconds).  600 seconds).
 If the client fails to authenticate the user within  If the client fails to authenticate the user within
 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 the file from which the RSA host key is read (default  Specifies the file from which the host key is read (default
 .Pa /etc/ssh_host_key ) .  .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 file is normally not readable by anyone but root).  host file is normally not readable by anyone but root).
   It is possible to have multiple host key files for
   the different protocol versions and host key algorithms.
 .It Fl i  .It Fl i
 Specifies that  Specifies that
 .Nm  .Nm
Line 222 
Line 229 
 from inetd may  from inetd may
 be feasible.  be feasible.
 .It Fl k Ar key_gen_time  .It Fl k Ar key_gen_time
 Specifies how often the server key is regenerated (default 3600  Specifies how often the ephemeral protocol version 1 server key is
 seconds, or one hour).  regenerated (default 3600 seconds, or one hour).
 The motivation for regenerating the key fairly  The motivation for regenerating the key fairly
 often is that the key is not stored anywhere, and after about an hour,  often is that the key is not stored anywhere, and after about an hour,
 it becomes impossible to recover the key for decrypting intercepted  it becomes impossible to recover the key for decrypting intercepted
Line 238 
Line 245 
 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 254 
Line 267 
 should be put into the  should be put into the
 .Pa utmp  .Pa utmp
 file.  file.
 .It Fl Q  .Fl u0
 Do not print an error message if RSA support is missing.  is also be used to prevent
 .It Fl V Ar client_protocol_id  .Nm
 SSH-2 compatibility mode.  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.
   .It Fl D
 When this option is specified  When this option is specified
 .Nm  .Nm
 assumes the client has sent the supplied version string  will not detach and does not become a daemon.
 and skips the  This allows easy monitoring of
 Protocol Version Identification Exchange.  .Nm sshd .
 This option is not intended to be called directly.  
 .It Fl 4  .It Fl 4
 Forces  Forces
 .Nm  .Nm
Line 280 
Line 301 
 (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-value pairs, one per line.  The file contains keyword-argument 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 following keywords are possible.  The 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 yes .  .Dq yes .
 .It Cm AllowGroups  .It Cm AllowGroups
 This keyword can be followed by a number of group names, 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 matches one of the patterns.  group or supplementary group list matches one of the patterns.
 .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 isn't recognized.  Only group names are valid; a numerical group ID is not recognized.
 By default login is allowed regardless of the primary group.  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 313 
Line 336 
 own forwarders.  own forwarders.
 .Pp  .Pp
 .It Cm AllowUsers  .It Cm AllowUsers
 This keyword can be followed by a number of user names, 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 322 
Line 345 
 .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 isn't recognized.  Only user names are valid; a numerical user ID is not recognized.
 By default login is allowed regardless of the user name.  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
   In some jurisdictions, sending a warning message before authentication
   may be relevant for getting legal protection.
   The contents of the specified file are sent to the remote user before
   authentication is allowed.
   This option is only available for protocol version 2.
   .Pp
   .It Cm ChallengeResponseAuthentication
   Specifies whether challenge response authentication is allowed.
   All authentication styles from
   .Xr login.conf 5
   are supported.
   The default is
   .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
 .Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc .  .Dq aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour.
 .It Cm CheckMail  .It Cm ClientAliveInterval
 Specifies whether  Sets a timeout interval in seconds after which if no data has been received
   from the client,
 .Nm  .Nm
 should check for new mail for interactive logins.  will send a message through the encrypted
 The default is  channel to request a response from the client.
 .Dq no .  The default
   is 0, indicating that these messages will not be sent to the client.
   This option applies to protocol version 2 only.
   .It Cm ClientAliveCountMax
   Sets the number of client alive messages (see above) which may be
   sent without
   .Nm
   receiving any messages back from the client. If this threshold is
   reached while client alive messages are being sent,
   .Nm
   will disconnect the client, terminating the session. It is important
   to note that the use of client alive messages is very different from
   .Cm Keepalive
   (below). The client alive messages are sent through the
   encrypted channel and therefore will not be spoofable. The TCP keepalive
   option enabled by
   .Cm Keepalive
   is spoofable. The client alive mechanism is valuable when the client or
   server depend on knowing when a connection has become inactive.
   .Pp
   The default value is 3. If
   .Cm ClientAliveInterval
   (above) is set to 15, and
   .Cm ClientAliveCountMax
   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 number of group names, separated  This keyword can be followed by a number of group names, separated
 by spaces.  by spaces.
 Users whose primary group matches one of the patterns  Users whose primary group or supplementary group list matches
 aren't allowed to log in.  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 isn't recognized.  Only group names are valid; a numerical group ID is not recognized.
 By default login is allowed regardless of the primary group.  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 number of user names, separated  This keyword can be followed by a number of user names, separated
Line 357 
Line 437 
 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 isn't recognized.  Only user names are valid; a numerical user ID is not recognized.
 By default login is allowed regardless of the user name.  By default login is allowed regardless of the user name.
 .It Cm DSAAuthentication  
 Specifies whether DSA authentication is allowed.  
 The default is  
 .Dq yes .  
 Note that this option applies to protocol version 2 only.  
 .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
 .Dq no .  .Dq no .
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm HostDSAKey  .It Cm HostbasedAuthentication
 Specifies the file containing the private DSA host key (default  Specifies whether rhosts or /etc/hosts.equiv authentication together
 .Pa /etc/ssh_host_dsa_key )  with successful public key client host authentication is allowed
 used by SSH protocol 2.0.  (hostbased authentication).
 Note that  This option is similar to
 .Nm  .Cm RhostsRSAAuthentication
 disables protocol 2.0 if this file is group/world-accessible.  and applies to protocol version 2 only.
   The default is
   .Dq no .
 .It Cm HostKey  .It Cm HostKey
 Specifies the file containing the private RSA host key (default  Specifies the file containing the private host keys (default
 .Pa /etc/ssh_host_key )  .Pa /etc/ssh_host_key )
 used by SSH protocols 1.3 and 1.5.  used by SSH protocol versions 1 and 2.
 Note that  Note that
 .Nm  .Nm
 disables protocols 1.3 and 1.5 if this file is group/world-accessible.  will refuse to use a file if it is group/world-accessible.
   It is possible to have multiple host key files.
   .Dq rsa1
   keys are used for version 1 and
   .Dq dsa
   or
   .Dq rsa
   are used for version 2 of the SSH protocol.
 .It Cm IgnoreRhosts  .It Cm IgnoreRhosts
 Specifies that  Specifies that
 .Pa .rhosts  .Pa .rhosts
 and  and
 .Pa .shosts  .Pa .shosts
 files will not be used in authentication.  files will not be used in
   .Cm RhostsAuthentication ,
   .Cm RhostsRSAAuthentication
   or
   .Cm HostbasedAuthentication .
   .Pp
 .Pa /etc/hosts.equiv  .Pa /etc/hosts.equiv
 and  and
 .Pa /etc/shosts.equiv  .Pa /etc/shosts.equiv
Line 405 
Line 503 
 should ignore the user's  should ignore the user's
 .Pa $HOME/.ssh/known_hosts  .Pa $HOME/.ssh/known_hosts
 during  during
 .Cm RhostsRSAAuthentication .  .Cm RhostsRSAAuthentication
   or
   .Cm HostbasedAuthentication .
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm KeepAlive  .It Cm KeepAlive
Line 458 
Line 558 
 Default is  Default is
 .Dq yes .  .Dq yes .
 .It Cm KeyRegenerationInterval  .It Cm KeyRegenerationInterval
 The server key is automatically regenerated after this many seconds  In protocol version 1, the ephemeral server key is automatically regenerated
 (if it has been used).  after this many seconds (if it has been used).
 The purpose of regeneration is to prevent  The purpose of regeneration is to prevent
 decrypting captured sessions by later breaking into the machine and  decrypting captured sessions by later breaking into the machine and
 stealing the keys.  stealing the keys.
Line 467 
Line 567 
 If the value is 0, the key is never regenerated.  If the value is 0, the key is never regenerated.
 The default is 3600 (seconds).  The default is 3600 (seconds).
 .It Cm ListenAddress  .It Cm ListenAddress
 Specifies what local address  Specifies the local addresses
 .Nm  .Nm
 should listen on.  should listen on.
 The default is to listen to all local addresses.  The following forms may be used:
 Multiple options of this type are permitted.  .Pp
 Additionally, the  .Bl -item -offset indent -compact
 .Cm Ports  .It
 options must precede this option.  .Cm ListenAddress
   .Sm off
   .Ar host No | Ar IPv4_addr No | Ar IPv6_addr
   .Sm on
   .It
   .Cm ListenAddress
   .Sm off
   .Ar host No | Ar IPv4_addr No : Ar port
   .Sm on
   .It
   .Cm ListenAddress
   .Sm off
   .Oo
   .Ar host No | Ar IPv6_addr Oc : Ar port
   .Sm on
   .El
   .Pp
   If
   .Ar port
   is not specified,
   .Nm
   will listen on the address and all prior
   .Cm Port
   options specified. The default is to listen on all local
   addresses.  Multiple
   .Cm ListenAddress
   options are permitted. Additionally, any
   .Cm Port
   options must precede this option for non port qualified addresses.
 .It Cm LoginGraceTime  .It Cm LoginGraceTime
 The server disconnects after this time if the user has not  The server disconnects after this time if the user has not
 successfully logged in.  successfully logged in.
Line 488 
Line 616 
 The default is INFO.  The default is INFO.
 Logging with level DEBUG violates the privacy of users  Logging with level DEBUG violates the privacy of users
 and is not recommended.  and is not recommended.
   .It Cm MACs
   Specifies the available MAC (message authentication code) algorithms.
   The MAC algorithm is used in protocol version 2
   for data integrity protection.
   Multiple algorithms must be comma-separated.
   The default is
   .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
 .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 502 
Line 637 
 .Dq start:rate:full  .Dq start:rate:full
 (e.g., "10:30:60").  (e.g., "10:30:60").
 .Nm  .Nm
 will refuse connection attempts with a probabillity of  will refuse connection attempts with a probability of
 .Dq rate/100  .Dq rate/100
 (30%)  (30%)
 if there are currently  if there are currently
 .Dq start  .Dq start
 (10)  (10)
 unauthenticated connections.  unauthenticated connections.
 The probabillity increases linearly and all connection attempts  The probability increases linearly and all connection attempts
 are refused if the number of unauthenticated connections reaches  are refused if the number of unauthenticated connections reaches
 .Dq full  .Dq full
 (60).  (60).
Line 517 
Line 652 
 Specifies whether password authentication is allowed.  Specifies whether password authentication is allowed.
 The default is  The default is
 .Dq yes .  .Dq yes .
 Note that this option applies to both protocol versions 1 and 2.  
 .It Cm PermitEmptyPasswords  .It Cm PermitEmptyPasswords
 When password authentication is allowed, it specifies whether the  When password authentication is allowed, it specifies whether the
 server allows login to accounts with empty password strings.  server allows login to accounts with empty password strings.
 The default is  The default is
 .Dq no .  .Dq no .
 .It Cm PermitRootLogin  .It Cm PermitRootLogin
 Specifies whether the root can log in using  Specifies whether root can login using
 .Xr ssh 1 .  .Xr ssh 1 .
 The argument must be  The argument must be
 .Dq yes ,  .Dq yes ,
 .Dq without-password  .Dq without-password ,
   .Dq forced-commands-only
 or  or
 .Dq no .  .Dq no .
 The default is  The default is
 .Dq yes .  .Dq yes .
 If this options is set to  .Pp
   If this option is set to
 .Dq without-password  .Dq without-password
 only password authentication is disabled for root.  password authentication is disabled for root.
 .Pp  .Pp
 Root login with RSA authentication when the  If this option is set to
   .Dq forced-commands-only
   root login with public key authentication will be allowed,
   but only if the
 .Ar command  .Ar command
 option has been  option has been specified
 specified will be allowed regardless of the value of this setting  
 (which may be useful for taking remote backups even if root login is  (which may be useful for taking remote backups even if root login is
 normally not allowed).  normally not allowed). All other authentication methods are disabled
   for root.
   .Pp
   If this option is set to
   .Dq no
   root is not allowed to login.
 .It Cm PidFile  .It Cm PidFile
 Specifies the file that contains the process identifier of the  Specifies the file that contains the process identifier of the
 .Nm  .Nm
Line 555 
Line 698 
 listens on.  listens on.
 The default is 22.  The default is 22.
 Multiple options of this type are permitted.  Multiple options of this type are permitted.
   See also
   .Cm ListenAddress .
   .It Cm PrintLastLog
   Specifies whether
   .Nm
   should print the date and time when the user last logged in.
   The default is
   .Dq yes .
 .It Cm PrintMotd  .It Cm PrintMotd
 Specifies whether  Specifies whether
 .Nm  .Nm
Line 576 
Line 727 
 .Dq 2 .  .Dq 2 .
 Multiple versions must be comma-separated.  Multiple versions must be comma-separated.
 The default is  The default is
 .Dq 1 .  .Dq 2,1 .
 .It Cm RandomSeed  .It Cm PubkeyAuthentication
 Obsolete.  Specifies whether public key authentication is allowed.
 Random number generation uses other techniques.  The default is
   .Dq yes .
   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 590 
Line 751 
 to normal rhosts or /etc/hosts.equiv authentication.  to normal rhosts or /etc/hosts.equiv authentication.
 The default is  The default is
 .Dq no .  .Dq no .
   This option applies to protocol version 1 only.
 .It Cm RhostsRSAAuthentication  .It Cm RhostsRSAAuthentication
 Specifies whether rhosts or /etc/hosts.equiv authentication together  Specifies whether rhosts or /etc/hosts.equiv authentication together
 with successful RSA host authentication is allowed.  with successful RSA host authentication is allowed.
 The default is  The default is
 .Dq no .  .Dq no .
   This option applies to protocol version 1 only.
 .It Cm RSAAuthentication  .It Cm RSAAuthentication
 Specifies whether pure RSA authentication is allowed.  Specifies whether pure RSA authentication is allowed.
 The default is  The default is
 .Dq yes .  .Dq yes .
 Note that this option applies to protocol version 1 only.  This option applies to protocol version 1 only.
 .It Cm ServerKeyBits  .It Cm ServerKeyBits
 Defines the number of bits in the server key.  Defines the number of bits in the ephemeral protocol version 1 server key.
 The minimum value is 512, and the default is 768.  The minimum value is 512, and the default is 768.
 .It Cm SkeyAuthentication  
 Specifies whether  
 .Xr skey 1  
 authentication is allowed.  
 The default is  
 .Dq yes .  
 Note that s/key authentication is enabled only if  
 .Cm PasswordAuthentication  
 is allowed, too.  
 .It Cm StrictModes  .It Cm StrictModes
 Specifies whether  Specifies whether
 .Nm  .Nm
Line 642 
Line 796 
 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.
 The default is  Note also, that if this is enabled,
 .Dq no .  .Cm X11Forwarding
   will be disabled because
   .Xr login 1
   does not know how to handle
   .Xr xauth 1
   cookies.
 .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 661 
Line 822 
 .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 XAuthLocation  .It Cm XAuthLocation
 Specifies the location of the  Specifies the location of the
 .Xr xauth 1  .Xr xauth 1
Line 668 
Line 832 
 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 714 
Line 920 
 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
 file lists the RSA keys that are  is the default file that lists the public keys that are
 permitted for RSA authentication in SSH protocols 1.3 and 1.5  permitted for RSA authentication in protocol version 1
 Similarly, the  and for public key authentication (PubkeyAuthentication)
 .Pa $HOME/.ssh/authorized_keys2  in protocol version 2.
 file lists the DSA keys that are  .Cm AuthorizedKeysFile
 permitted for DSA authentication in SSH protocol 2.0.  may be used to specify an alternative file.
   .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
 .Ql #  .Ql #
 are ignored as  are ignored as
 comments).  comments).
 Each line consists of the following fields, separated by  Each RSA public key consists of the following fields, separated by
 spaces: options, bits, exponent, modulus, comment.  spaces: options, bits, exponent, modulus, comment.
 The options field  Each protocol version 2 public key consists of:
 is optional; its presence is determined by whether the line starts  options, keytype, base64 encoded key, comment.
   The options fields
   are optional; its presence is determined by whether the line starts
 with a number or not (the option field never starts with a number).  with a number or not (the option field never starts with a number).
 The bits, exponent, modulus and comment fields give the RSA key; the  The bits, exponent, modulus and comment fields give the RSA key for
   protocol version 1; the
 comment field is not used for anything (but may be convenient for the  comment field is not used for anything (but may be convenient for the
 user to identify the key).  user to identify the key).
   For protocol version 2 the keytype is
   .Dq ssh-dss
   or
   .Dq ssh-rsa .
 .Pp  .Pp
 Note that lines in this file are usually several hundred bytes long  Note that lines in this file are usually several hundred bytes long
 (because of the size of the RSA key modulus).  (because of the size of the RSA key modulus).
 You don't want to type them in; instead, copy the  You don't want to type them in; instead, copy the
 .Pa identity.pub  .Pa identity.pub ,
   .Pa id_dsa.pub
   or the
   .Pa id_rsa.pub
 file and edit it.  file and edit it.
 .Pp  .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:  The following option specifications are supported (note
   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 771 
Line 988 
 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 connection requests a pty;  The command is run on a pty if the client 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,
   one must not request a pty or should specify
   .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
 to restrict certain RSA keys to perform just a specific operation.  to restrict certain RSA keys to perform just a specific operation.
 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.
Line 799 
Line 1020 
 authentication.  authentication.
 .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"
   Limit local
   .Li ``ssh -L''
   port forwarding such that it may only connect to the specified host and
   port.
   IPv6 addresses can be specified with an alternative syntax:
   .Ar host/port .
   Multiple
   .Cm permitopen
   options may be applied separated by commas. No pattern matching is
   performed on the specified hostnames, they must be literal domains or
   addresses.
 .El  .El
 .Ss Examples  .Ss Examples
 1024 33 12121.\|.\|.\|312314325 ylo@foo.bar  1024 33 12121.\|.\|.\|312314325 ylo@foo.bar
Line 806 
Line 1039 
 from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula  from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula
 .Pp  .Pp
 command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi  command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
   .Pp
   permitopen="10.2.1.55:80",permitopen="10.2.1.56:25" 1024 33 23.\|.\|.\|2323
 .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_hosts2  .Pa $HOME/.ssh/known_hosts
 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 860 
Line 1093 
 .Pa /etc/ssh_host_key.pub  .Pa /etc/ssh_host_key.pub
 and adding the host names at the front.  and adding the host names at the front.
 .Ss Examples  .Ss Examples
 closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi  .Bd -literal
   closenet,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
   cvs.openbsd.org,199.185.137.3 ssh-rsa AAAA1234.....=
   .Ed
 .Sh FILES  .Sh FILES
 .Bl -tag -width Ds  .Bl -tag -width Ds
 .It Pa /etc/sshd_config  .It Pa /etc/sshd_config
Line 868 
Line 1104 
 .Nm sshd .  .Nm sshd .
 This file should be writable by root only, but it is recommended  This file should be writable by root only, but it is recommended
 (though not necessary) that it be world-readable.  (though not necessary) that it be world-readable.
 .It Pa /etc/ssh_host_key  .It Pa /etc/ssh_host_key, /etc/ssh_host_dsa_key, /etc/ssh_host_rsa_key
 Contains the private part of the host key.  These three files contain the private parts of the host keys.
 This file should only be owned by root, readable only by root, and not  These files should only be owned by root, readable only by root, and not
 accessible to others.  accessible to others.
 Note that  Note that
 .Nm  .Nm
 does not start if this file is group/world-accessible.  does not start if this file is group/world-accessible.
 .It Pa /etc/ssh_host_key.pub  .It Pa /etc/ssh_host_key.pub, /etc/ssh_host_dsa_key.pub, /etc/ssh_host_rsa_key.pub
 Contains the public part of the host key.  These three files contain the public parts of the host keys.
 This file should be world-readable but writable only by  These files should be world-readable but writable only by
 root.  root.
 Its contents should match the private part.  Their contents should match the respective private parts.
 This file is not  These files are not
 really used for anything; it is only provided for the convenience of  really used for anything; they are provided for the convenience of
 the user so its contents can be copied to known hosts files.  the user so their contents can be copied to known hosts files.
 These two files are created using  These files are created using
 .Xr ssh-keygen 1 .  .Xr ssh-keygen 1 .
   .It Pa /etc/moduli
   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
 .Nm  .Nm
Line 893 
Line 1131 
 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.  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
 volume).  volume).
 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 identity.pub ,
 files into this file, as described in  
 .Xr ssh-keygen 1 .  
 .It Pa $HOME/.ssh/authorized_keys2  
 Lists the DSA 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 id_dsa.pub  .Pa id_dsa.pub
   and/or
   .Pa id_rsa.pub
 files into this file, as described in  files into this file, as described in
 .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 to check the public key of the host.  authentication or 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 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 the remote host is the one it intended to connect.  to verify that it is connecting to the correct remote host.
 These files should be writable only by root/the owner.  These files should be writable only by root/the owner.
 .Pa /etc/ssh_known_hosts  .Pa /etc/ssh_known_hosts
 should be world-readable, and  should be world-readable, and
Line 1022 
Line 1253 
 accessible; AFS is a particular example of such an environment.  accessible; AFS is a particular example of such an environment.
 .Pp  .Pp
 This file will probably contain some initialization code followed by  This file will probably contain some initialization code followed by
 something similar to: "if read proto cookie; then echo add $DISPLAY  something similar to:
 $proto $cookie | xauth -q -; fi".  .Bd -literal
           if read proto cookie; then
                   echo add $DISPLAY $proto $cookie | xauth -q -
           fi
   .Ed
 .Pp  .Pp
 If this file does not exist,  If this file does not exist,
 .Pa /etc/sshrc  .Pa /etc/sshrc
Line 1039 
Line 1274 
 machine-specific login-time initializations globally.  machine-specific login-time initializations globally.
 This file should be writable only by root, and should be world-readable.  This file should be writable only by root, and should be world-readable.
 .El  .El
 .Sh AUTHOR  .Sh AUTHORS
 OpenSSH  OpenSSH is a derivative of the original and free
 is a derivative of the original (free) ssh 1.2.12 release by Tatu Ylonen,  ssh 1.2.12 release by Tatu Ylonen.
 but with bugs removed and newer features re-added.  Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
 Rapidly after the  Theo de Raadt and Dug Song
 1.2.12 release, newer versions of the original ssh bore successively  removed many bugs, re-added newer features and
 more restrictive licenses, and thus demand for a free version was born.  created OpenSSH.
 .Pp  Markus Friedl contributed the support for SSH
 This version of OpenSSH  protocol versions 1.5 and 2.0.
 .Bl -bullet  
 .It  
 has all components of a restrictive nature (i.e., patents, see  
 .Xr ssl 8 )  
 directly removed from the source code; any licensed or patented components  
 are chosen from  
 external libraries.  
 .It  
 has been updated to support SSH protocol 1.5 and 2, making it compatible with  
 all other SSH clients and servers.  
 .It  
 contains added support for  
 .Xr kerberos 8  
 authentication and ticket passing.  
 .It  
 supports one-time password authentication with  
 .Xr skey 1 .  
 .El  
 .Pp  
 OpenSSH has been created by Aaron Campbell, Bob Beck, Markus Friedl,  
 Niels Provos, Theo de Raadt, and Dug Song.  
 .Pp  
 The support for SSH protocol 2 was written by Markus Friedl.  
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr scp 1 ,  .Xr scp 1 ,
 .Xr sftp-server 8 ,  .Xr sftp 1 ,
 .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 ssl 8 ,  .Xr login.conf 5 ,
 .Xr rlogin 1 ,  .Xr moduli 5 ,
 .Xr rsh 1  .Xr sftp-server 8
   .Rs
   .%A T. Ylonen
   .%A T. Kivinen
   .%A M. Saarinen
   .%A T. Rinne
   .%A S. Lehtinen
   .%T "SSH Protocol Architecture"
   .%N draft-ietf-secsh-architecture-09.txt
   .%D July 2001
   .%O work in progress material
   .Re
   .Rs
   .%A M. Friedl
   .%A N. Provos
   .%A W. A. Simpson
   .%T "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol"
   .%N draft-ietf-secsh-dh-group-exchange-01.txt
   .%D April 2001
   .%O work in progress material
   .Re

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.70.2.5