[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.4

version 1.70, 2000/10/16 09:38:44 version 1.70.2.4, 2001/05/07 21:09:37
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 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
Line 54 
Line 54 
 .Op Fl V Ar client_protocol_id  .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 134 
Line 134 
 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 144 
 (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 175 
 .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, ie.
   .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
   server key (default 768).
 .Pp  .Pp
 .It Fl d  .It Fl d
 Debug mode.  Debug mode.
Line 187 
Line 191 
 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 205 
 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 232 
 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 254 
Line 264 
 should be put into the  should be put into the
 .Pa utmp  .Pa utmp
 file.  file.
 .It Fl Q  .It Fl D
 Do not print an error message if RSA support is missing.  
 .It Fl V Ar client_protocol_id  
 SSH-2 compatibility mode.  
 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 292 
Line 298 
 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 isn't 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 319 
 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 325 
Line 331 
 Only user names are valid; a numerical user ID isn't recognized.  Only user names are valid; a numerical user ID isn't recognized.
 By default login is allowed regardless of the user name.  By default login is allowed regardless of the user name.
 .Pp  .Pp
   .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.
   Currently there is only support for
   .Xr skey 1
   authentication.
   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 CheckMail
 Specifies whether  Specifies whether
 .Nm  .Nm
 should check for new mail for interactive logins.  should check for new mail for interactive logins.
 The default is  The default is
 .Dq no .  .Dq no .
   .It Cm ClientAliveInterval
   Sets a timeout interval in seconds after which if no data has been received
   from the client,
   .Nm
   will send a message through the encrypted
   channel to request a response from the client.
   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. You want to use the client
   alive mechanism when you are basing something important on
   clients having an active connection to the server.
   .Pp
   The default value is 3. If you set
   .Cm ClientAliveInterval
   (above) to 15, and leave this value 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 isn't 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 359 
Line 412 
 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 isn't 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.
Line 373 
Line 421 
 .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 467 
 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 522 
 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 531 
 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 580 
 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
   .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 502 
Line 605 
 .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 620 
 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 666 
 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 695 
 .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 719 
 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 717 
Line 839 
 The  The
 .Pa $HOME/.ssh/authorized_keys  .Pa $HOME/.ssh/authorized_keys
 file lists the RSA keys that are  file lists the RSA 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  Similarly, the
 .Pa $HOME/.ssh/authorized_keys2  .Pa $HOME/.ssh/authorized_keys2
 file lists the DSA keys that are  file lists the DSA and RSA keys that are
 permitted for DSA authentication in SSH protocol 2.0.  permitted for public key authentication (PubkeyAuthentication)
   in protocol version 2.
   .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
Line 773 
Line 907 
 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 connection requests a pty;
 otherwise it is run without a tty.  otherwise it is run without a tty.
   Note that if you want a 8-bit clean channel,
   you 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.
Line 799 
Line 936 
 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. 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 952 
 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 ,
Line 860 
Line 1008 
 .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 1019 
 .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/primes
   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 904 
Line 1057 
 files into this file, as described in  files into this file, as described in
 .Xr ssh-keygen 1 .  .Xr ssh-keygen 1 .
 .It Pa $HOME/.ssh/authorized_keys2  .It Pa $HOME/.ssh/authorized_keys2
 Lists the DSA 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).
Line 912 
Line 1065 
 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 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"
Line 919 
Line 1074 
 authentication to check the public key of the host.  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
 .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 1022 
Line 1188 
 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 1209 
 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 1 ,
 .Xr sftp-server 8 ,  .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 ssl 8 ,  
 .Xr rlogin 1 ,  .Xr rlogin 1 ,
 .Xr rsh 1  .Xr rsh 1
   .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-07.txt
   .%D January 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-00.txt
   .%D January 2001
   .%O work in progress material
   .Re

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