summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-04-23 13:02:16 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-04-23 13:02:16 +0000
commitc65e6a0fec9d96722d268003c2b89c2a8906aee9 (patch)
tree6fe9ae19926c5300895e21212aa5a40a37eae7ff
parent2857d9cf771ffa561e6e6e535632bd7ef74c0f7d (diff)
- markus@cvs.openbsd.org 2001/04/22 23:58:36
[ssh-keygen.1 ssh.1 sshd.8] document hostbased and other cleanup
-rw-r--r--ChangeLog8
-rw-r--r--ssh-keygen.16
-rw-r--r--ssh.1100
-rw-r--r--sshd.8121
4 files changed, 153 insertions, 82 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c723c9e..1680cc0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+20010424
+ - OpenBSD CVS Sync
+ - markus@cvs.openbsd.org 2001/04/22 23:58:36
+ [ssh-keygen.1 ssh.1 sshd.8]
+ document hostbased and other cleanup
+
20010422
- OpenBSD CVS Sync
- markus@cvs.openbsd.org 2001/04/20 16:32:22
@@ -5225,4 +5231,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1159 2001/04/22 17:19:46 mouring Exp $
+$Id: ChangeLog,v 1.1160 2001/04/23 13:02:16 mouring Exp $
diff --git a/ssh-keygen.1 b/ssh-keygen.1
index e2e4bc45..613bc95d 100644
--- a/ssh-keygen.1
+++ b/ssh-keygen.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: ssh-keygen.1,v 1.38 2001/04/22 13:41:02 markus Exp $
+.\" $OpenBSD: ssh-keygen.1,v 1.39 2001/04/22 23:58:36 markus Exp $
.\"
.\" -*- nroff -*-
.\"
@@ -81,10 +81,10 @@
generates, manages and converts authentication keys for
.Xr ssh 1 .
.Nm
-defaults to generating a RSA1 key for use by protocols 1.3 and 1.5;
+defaults to generating a RSA1 key for use by SSH protocol version 1.
specifying the
.Fl t
-option allows you to create a key for use by protocol 2.0.
+option allows you to create a key for use by SSH protocol version 2.
.Pp
Normally each user wishing to use SSH
with RSA or DSA authentication runs this once to create the authentication
diff --git a/ssh.1 b/ssh.1
index 4757a12d..0d26197b 100644
--- a/ssh.1
+++ b/ssh.1
@@ -34,7 +34,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $OpenBSD: ssh.1,v 1.106 2001/04/22 13:32:27 markus Exp $
+.\" $OpenBSD: ssh.1,v 1.107 2001/04/22 23:58:36 markus Exp $
.Dd September 25, 1999
.Dt SSH 1
.Os
@@ -110,7 +110,7 @@ permitted to log in.
This form of authentication alone is normally not
allowed by the server because it is not secure.
.Pp
-The second (and primary) authentication method is the
+The second authentication method is the
.Pa rhosts
or
.Pa hosts.equiv
@@ -205,13 +205,18 @@ the password cannot be seen by someone listening on the network.
.Ss SSH protocol version 2
.Pp
When a user connects using the protocol version 2
-different authentication methods are available:
-At first, the client attempts to authenticate using the public key method.
-If this method fails password authentication is tried.
+different authentication methods are available.
+Using the default values for
+.Cm PreferredAuthentications ,
+the client will try to authenticate first using the public key method;
+if this method fails password authentication is attempted,
+and finally if this method fails keyboard-interactive authentication
+is attempted.
+If this method fails password authentication is
+tried.
.Pp
The public key method is similar to RSA authentication described
-in the previous section except that the DSA or RSA algorithm is used
-instead.
+in the previous section and allows the RSA or DSA algorithm to be used:
The client uses his private key,
.Pa $HOME/.ssh/id_dsa
or
@@ -225,8 +230,10 @@ and is only known to the client and the server.
.Pp
If public key authentication fails or is not available a password
can be sent encrypted to the remote host for proving the user's identity.
-This protocol 2 implementation does not yet support Kerberos or
-S/Key authentication.
+.Pp
+Additionally,
+.Nm
+supports hostbased or challenge response authentication.
.Pp
Protocol 2 provides additional mechanisms for confidentiality
(the traffic is encrypted using 3DES, Blowfish, CAST128 or Arcfour)
@@ -286,7 +293,7 @@ Background ssh
List forwarded connections
.It Cm ~&
Background ssh at logout when waiting for forwarded connection / X11 sessions
-to terminate (this does not currently work for SSH protocol version 2)
+to terminate (protocol version 1 only)
.It Cm ~?
Display a list of escape characters
.It Cm ~R
@@ -573,6 +580,8 @@ from the local machine.
Port forwardings can also be specified in the configuration file.
Privileged ports can be forwarded only when
logging in as root on the remote machine.
+IPv6 addresses can be specified with an alternative syntax:
+.Ar port/host/hostport
.It Fl 1
Forces
.Nm
@@ -645,6 +654,7 @@ The argument to this keyword must be
.Dq yes
or
.Dq no .
+This option applies to protocol version 1 only.
.It Cm BatchMode
If set to
.Dq yes ,
@@ -687,8 +697,7 @@ The default is
.Pp
.Bd -literal
``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
- aes192-cbc,aes256-cbc,rijndael128-cbc,rijndael192-cbc,
- rijndael256-cbc,rijndael-cbc@lysator.liu.se''
+ aes192-cbc,aes256-cbc''
.Ed
.It Cm Compression
Specifies whether to use compression.
@@ -704,21 +713,13 @@ The argument must be an integer from 1 (fast) to 9 (slow, best).
The default level is 6, which is good for most applications.
The meaning of the values is the same as in
.Xr gzip 1 .
+Note that this option applies to protocol version 1 only.
.It Cm ConnectionAttempts
Specifies the number of tries (one per second) to make before falling
back to rsh or exiting.
The argument must be an integer.
This may be useful in scripts if the connection sometimes fails.
The default is 4.
-.It Cm PubkeyAuthentication
-Specifies whether to try public key authentication.
-The argument to this keyword must be
-.Dq yes
-or
-.Dq no .
-The default is
-.Dq yes .
-Note that this option applies to protocol version 2 only.
.It Cm EscapeChar
Sets the escape character (default:
.Ql ~ ) .
@@ -783,17 +784,29 @@ host key database instead of
Specifies a file to use for the protocol version 2 global
host key database instead of
.Pa /etc/ssh_known_hosts2 .
-.It Cm HostKeyAlias
-Specifies an alias that should be used instead of the
-real host name when looking up or saving the host key
-in the known_hosts files.
-This option is useful for tunneling ssh connections
-or if you have multiple servers running on a single host.
+.It Cm HostbasedAuthentication
+Specifies whether to try rhosts based authentication with public key
+authentication.
+The argument must be
+.Dq yes
+or
+.Dq no .
+The default is
+.Dq yes .
+This option applies to protocol version 2 only and
+is similar to
+.Cm RhostsRSAAuthentication .
.It Cm HostKeyAlgorithms
Specfies the protocol version 2 host key algorithms
that the client wants to use in order of preference.
The default for this option is:
.Dq ssh-rsa,ssh-dss
+.It Cm HostKeyAlias
+Specifies an alias that should be used instead of the
+real host name when looking up or saving the host key
+in the host key database files.
+This option is useful for tunneling ssh connections
+or if you have multiple servers running on a single host.
.It Cm HostName
Specifies the real host name to log into.
This can be used to specify nicknames or abbreviations for hosts.
@@ -802,7 +815,7 @@ Numeric IP addresses are also permitted (both on the command line and in
.Cm HostName
specifications).
.It Cm IdentityFile
-Specifies the file from which the user's RSA authentication identity
+Specifies the file from which the user's RSA or DSA authentication identity
is read (default
.Pa $HOME/.ssh/identity
in the user's home directory).
@@ -882,7 +895,6 @@ or
.Dq no .
The default is
.Dq yes .
-Note that this option applies to both protocol version 1 and 2.
.It Cm Port
Specifies the port number to connect on the remote host.
Default is 22.
@@ -934,6 +946,15 @@ Note that
.Cm CheckHostIP
is not available for connects with a proxy command.
.Pp
+.It Cm PubkeyAuthentication
+Specifies whether to try public key authentication.
+The argument to this keyword must be
+.Dq yes
+or
+.Dq no .
+The default is
+.Dq yes .
+This option applies to protocol version 2 only.
.It Cm RemoteForward
Specifies that a TCP/IP port on the remote machine be forwarded over
the secure channel to given host:port from the local machine.
@@ -951,13 +972,15 @@ Disabling rhosts authentication may reduce
authentication time on slow connections when rhosts authentication is
not used.
Most servers do not permit RhostsAuthentication because it
-is not secure (see RhostsRSAAuthentication).
+is not secure (see
+.Cm RhostsRSAAuthentication ).
The argument to this keyword must be
.Dq yes
or
.Dq no .
The default is
.Dq yes .
+This option applies to protocol version 1 only.
.It Cm RhostsRSAAuthentication
Specifies whether to try rhosts based authentication with RSA host
authentication.
@@ -967,6 +990,7 @@ or
.Dq no .
The default is
.Dq yes .
+This option applies to protocol version 1 only.
.It Cm RSAAuthentication
Specifies whether to try RSA authentication.
The argument to this keyword must be
@@ -1037,13 +1061,13 @@ or
.Dq no .
The default is
.Dq no .
-Note that setting this option to
-.Dq no
-turns off
+Note that you need to set this option to
+.Dq yes
+if you want to use
.Cm RhostsAuthentication
and
.Cm RhostsRSAAuthentication
-for older servers.
+with older servers.
.It Cm User
Specifies the user to log in as.
This can be useful if you have a different user name on different machines.
@@ -1097,7 +1121,9 @@ the host where the shell runs, and n is an integer >= 1.
.Nm
uses this special value to forward X11 connections over the secure
channel.
-The user should normally not set DISPLAY explicitly, as that
+The user should normally not set
+.Ev DISPLAY
+explicitly, as that
will render the X11 connection insecure (and will require the user to
manually copy any required authorization cookies).
.It Ev HOME
@@ -1211,7 +1237,7 @@ spaces).
This file is not highly sensitive, but the recommended
permissions are read/write for the user, and not accessible by others.
.It Pa $HOME/.ssh/authorized_keys2
-Lists the public keys (DSA/RSA) that can be used for logging in as this user.
+Lists the public keys (RSA/DSA) that can be used for logging in as this user.
This file is not highly sensitive, but the recommended
permissions are read/write for the user, and not accessible by others.
.It Pa /etc/ssh_known_hosts, /etc/ssh_known_hosts2
@@ -1219,7 +1245,7 @@ Systemwide list of known host keys.
.Pa /etc/ssh_known_hosts
contains RSA and
.Pa /etc/ssh_known_hosts2
-contains DSA or RSA keys for protocol version 2.
+contains RSA or DSA keys for protocol version 2.
These files should be prepared by the
system administrator to contain the public host keys of all machines in the
organization.
diff --git a/sshd.8 b/sshd.8
index 5b8380dc..62e3de7c 100644
--- a/sshd.8
+++ b/sshd.8
@@ -34,13 +34,13 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $OpenBSD: sshd.8,v 1.119 2001/04/22 13:32:27 markus Exp $
+.\" $OpenBSD: sshd.8,v 1.120 2001/04/22 23:58:36 markus Exp $
.Dd September 25, 1999
.Dt SSHD 8
.Os
.Sh NAME
.Nm sshd
-.Nd OpenSSH ssh daemon
+.Nd OpenSSH SSH daemon
.Sh SYNOPSIS
.Nm sshd
.Op Fl deiqD46
@@ -134,8 +134,9 @@ 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.
Forward security is provided through a Diffie-Hellman key agreement.
This key agreement results in a shared session key.
+.Pp
The rest of the session is encrypted using a symmetric cipher, currently
-Blowfish, 3DES, CAST128, Arcfour, 128 bit AES, or 256 bit AES.
+128 bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES, or 256 bit AES.
The client selects the encryption algorithm
to use from those offered by the server.
Additionally, session integrity is provided
@@ -143,8 +144,9 @@ through a cryptographic message authentication code
(hmac-sha1 or hmac-md5).
.Pp
Protocol version 2 provides a public key based
-user authentication method (PubkeyAuthentication)
-and conventional password authentication.
+user (PubkeyAuthentication) or
+client host (HostbasedAuthentication) authentication method,
+conventional password authentication and challenge response based methods.
.Pp
.Ss Command execution and data forwarding
.Pp
@@ -180,7 +182,8 @@ by executing itself with the name it was started as, ie.
The options are as follows:
.Bl -tag -width Ds
.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
.It Fl d
Debug mode.
@@ -188,8 +191,12 @@ The server sends verbose debug output to the system
log, and does not put itself in the background.
The server also will not fork and will only process one connection.
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.
+.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
Specifies the name of the configuration file.
The default is
@@ -210,7 +217,7 @@ This option must be given if
is not run as root (as the normal
host file is normally not readable by anyone but root).
It is possible to have multiple host key files for
-the different protocol versions.
+the different protocol versions and host key algorithms.
.It Fl i
Specifies that
.Nm
@@ -225,8 +232,8 @@ However, with small key sizes (e.g., 512) using
from inetd may
be feasible.
.It Fl k Ar key_gen_time
-Specifies how often the server key is regenerated (default 3600
-seconds, or one hour).
+Specifies how often the ephemeral protocol version 1 server key is
+regenerated (default 3600 seconds, or one hour).
The motivation for regenerating the key fairly
often is that the key is not stored anywhere, and after about an hour,
it becomes impossible to recover the key for decrypting intercepted
@@ -263,18 +270,6 @@ When this option is specified
will not detach and does not become a daemon.
This allows easy monitoring of
.Nm sshd .
-.It Fl e
-When this option is specified,
-.Nm
-will send the output to the standard error instead of the system log.
-.It Fl V Ar client_protocol_id
-SSH-2 compatibility mode.
-When this option is specified
-.Nm
-assumes the client has sent the supplied version string
-and skips the
-Protocol Version Identification Exchange.
-This option is not intended to be called directly.
.It Fl 4
Forces
.Nm
@@ -426,6 +421,15 @@ or
.Dq no .
The default is
.Dq no .
+.It Cm HostbasedAuthentication
+Specifies whether rhosts or /etc/hosts.equiv authentication together
+with successful public key client host authentication is allowed
+(hostbased authentication).
+This option is similar to
+.Cm RhostsRSAAuthentication
+and applies to protocol version 2 only.
+The default is
+.Dq no .
.It Cm HostKey
Specifies the file containing the private host keys (default
.Pa /etc/ssh_host_key )
@@ -445,7 +449,12 @@ Specifies that
.Pa .rhosts
and
.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
and
.Pa /etc/shosts.equiv
@@ -458,7 +467,9 @@ Specifies whether
should ignore the user's
.Pa $HOME/.ssh/known_hosts
during
-.Cm RhostsRSAAuthentication .
+.Cm RhostsRSAAuthentication
+or
+.Cm HostbasedAuthentication .
The default is
.Dq no .
.It Cm KeepAlive
@@ -511,8 +522,8 @@ file on logout.
Default is
.Dq yes .
.It Cm KeyRegenerationInterval
-The server key is automatically regenerated after this many seconds
-(if it has been used).
+In protocol version 1, the ephemeral server key is automatically regenerated
+after this many seconds (if it has been used).
The purpose of regeneration is to prevent
decrypting captured sessions by later breaking into the machine and
stealing the keys.
@@ -521,7 +532,7 @@ If the value is 0, the key is never regenerated.
The default is 3600 (seconds).
.It Cm ListenAddress
Specifies the local addresses
-.Xr sshd 8
+.Nm
should listen on.
The following forms may be used:
.Pp
@@ -547,7 +558,7 @@ The following forms may be used:
If
.Ar port
is not specified,
-.Xr sshd 8
+.Nm
will listen on the address and all prior
.Cm Port
options specified. The default is to listen on all local
@@ -609,7 +620,6 @@ are refused if the number of unauthenticated connections reaches
Specifies whether password authentication is allowed.
The default is
.Dq yes .
-Note that this option applies to both protocol versions 1 and 2.
.It Cm PermitEmptyPasswords
When password authentication is allowed, it specifies whether the
server allows login to accounts with empty password strings.
@@ -656,6 +666,8 @@ Specifies the port number that
listens on.
The default is 22.
Multiple options of this type are permitted.
+See also
+.Cm ListenAddress .
.It Cm PrintLastLog
Specifies whether
.Nm
@@ -707,18 +719,20 @@ instead, because it performs RSA-based host authentication in addition
to normal rhosts or /etc/hosts.equiv authentication.
The default is
.Dq no .
+This option applies to protocol version 1 only.
.It Cm RhostsRSAAuthentication
Specifies whether rhosts or /etc/hosts.equiv authentication together
with successful RSA host authentication is allowed.
The default is
.Dq no .
+This option applies to protocol version 1 only.
.It Cm RSAAuthentication
Specifies whether pure RSA authentication is allowed.
The default is
.Dq yes .
-Note that this option applies to protocol version 1 only.
+This option applies to protocol version 1 only.
.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.
.It Cm StrictModes
Specifies whether
@@ -825,12 +839,12 @@ Runs user's shell or command.
The
.Pa $HOME/.ssh/authorized_keys
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
.Pa $HOME/.ssh/authorized_keys2
file lists the DSA and RSA keys that are
permitted for public key authentication (PubkeyAuthentication)
-in SSH protocol 2.0.
+in protocol version 2.
.Pp
Each line of the file contains one
key (empty lines and lines starting with a
@@ -994,7 +1008,10 @@ or by taking
.Pa /etc/ssh_host_key.pub
and adding the host names at the front.
.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
.Bl -tag -width Ds
.It Pa /etc/sshd_config
@@ -1003,16 +1020,14 @@ Contains configuration data for
This file should be writable by root only, but it is recommended
(though not necessary) that it be world-readable.
.It Pa /etc/ssh_host_key, /etc/ssh_host_dsa_key, /etc/ssh_host_rsa_key
-These three files contain the private parts of the
-(SSH1, SSH2 DSA, and SSH2 RSA) host keys.
+These three files contain the private parts of the host keys.
These files should only be owned by root, readable only by root, and not
accessible to others.
Note that
.Nm
does not start if this file is group/world-accessible.
.It Pa /etc/ssh_host_key.pub, /etc/ssh_host_dsa_key.pub, /etc/ssh_host_rsa_key.pub
-These three files contain the public parts of the
-(SSH1, SSH2 DSA, and SSH2 RSA) host keys.
+These three files contain the public parts of the host keys.
These files should be world-readable but writable only by
root.
Their contents should match the respective private parts.
@@ -1042,7 +1057,7 @@ Users will place the contents of their
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.
+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
it being world-readable if the user's home directory resides on an NFS
volume).
@@ -1065,6 +1080,17 @@ These files should be writable only by root/the owner.
should be world-readable, and
.Pa $HOME/.ssh/known_hosts
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
If this file exists,
.Nm
@@ -1162,8 +1188,12 @@ which may be needed before the user's home directory becomes
accessible; AFS is a particular example of such an environment.
.Pp
This file will probably contain some initialization code followed by
-something similar to: "if read proto cookie; then echo add $DISPLAY
-$proto $cookie | xauth -q -; fi".
+something similar to:
+.Bd -literal
+ if read proto cookie; then
+ echo add $DISPLAY $proto $cookie | xauth -q -
+ fi
+.Ed
.Pp
If this file does not exist,
.Pa /etc/sshrc
@@ -1209,3 +1239,12 @@ protocol versions 1.5 and 2.0.
.%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