I bought it and I think the book is crap.  It may be one of the few books on
the subject but I found it very confusing and unclear in many parts of the
book.  I really wonder if the author knew the subject before she started
writing about it - either that or she has a hard time making her ideas
clear.  I think reading the man pages would be a better idea and it would
save you money.

David

"Carl J. Nobile" wrote:

> Hi,
>
> Get Anne Carasik's book UNIX Secure Shell, McGraw Hill,
> ISBN:0-07-134933-2
>
> It's a great book, buy it, you'll become the SSH expert in you company.
>
> Carl
>
> On 30-Mar-00 asosin wrote:
> >       Does anyone understand how the Client to Server authentication is
> > performed ?
> >
> > Below I have included all the information I was able to gather from the
> > Internet and the MAN pages Unix, however it still does not sound
> > correct.
> >  If someone knows how it works, please add in some comments to clear up
> > my
> > confusion.
> >
> >
> >  Here is where my confusion is:
> >  a). In # 4 the MAN page said that the Server send it's Public key and
> > the
> > Clients Public key to the Client.
> >  However what is there to prevent a fake Server from sending that same
> > Public key and the Clients
> >  Public key to the client ?  If someone has an account on that Server
> > then
> > they can easily get the Client and Server Public key, even if someone
> > is
> > using a sniffer they can get this information since it doesn't appear
> > to be
> > encrypted in #4.
> >  b). In # 6 the client then generates a random 256 bit number which is
> > encrypted using the Clients
> >  Public key and the Server Public key.  If that is the case how is the
> > Server suppose to decrypt the random
> >  number since it would only know the Server Private key and not the
> > Clients
> > Private key ?  The idea of using RSA is
> > that if you encrypt something with a public key, then you are suppose
> > to be
> > able to decrypt it using a private key or vice versa.
> >
> > If you know the answer please reply, or type out the steps in a easy to
> > understand format.
> >
> >  ------------------------------------------------
> >  1. First on the client side, a user types:                      ssh
> >  servername.ca
> >  In Unix\Linux the client computer reads the  ~user/.ssh/config    and
> > the
> >    /etc/ssh/ssh_config  files.
> >  (Each client has a 1024 bit key to identify itself, and each server
> > key is
> > 768 bits, and this RSA key is
> >  regenerated by the Server every hour it is used or when the daemon
> > starts
> > and kept in memory not on HD.)
> >
> >  2.  The client that wants to establish a connection does this using
> > port
> > 22, but first the Server checks whether the connection came from an
> > authorized IP#, and if so then it responds to the client with a
> > "Version
> > Identification string."
> >
> >  3.  The client then sends it's own "Version" back to the Server and if
> > either side fails then the connection is terminated.
> >
> >  4.  The Server then  uses the RSA Cipher algorithm and sends the
> > following
> > info to the client:
> >  Server Public Key  +  Client Public Key (Stored in the Server's
> > ssh_known_hosts file.)
> >
> > /etc/ssh_known_hosts           Everyone = Read, and Root = Write
> > - contains the clients public key.
> >
> > /etc/ssh_host_key             Everyone = No access, and Root = Write
> > - contains Server Private RSA key.
> >
> > /etc/ssh_host_key.pub         Everyone = Read
> > - contains the Server Public RSA key.
> >
> > /etc/ssh_random_seed          Everyone = No access, and Root = Write
> > - contains the session 256 bit random number.
> >
> > Note that the Client Public key is already on the Server since it was
> > placed there during the very first
> >  connection to the Server.
> >
> > 5. Now the client check the Server Public Key it received against the
> > one
> > in it's own list
> >  of  ssh_known_hosts, and if it's a match then we know it's the same
> > Server.  (Prevents Spoofing ?)
> > Also during this transfer the sshd of the Server included a 64bit of
> > random
> > data, a "cookie" which the client must then include in its reply to the
> > Server.
> >
> > 6. The client then generates a 256 bit random number "Session key" and
> > encrypts it using the client public key and the Server public key.
> > This
> > encrypted number is then send to the server which only the Server can
> > decrypt using it's private key, and the cookie is also included in the
> > reply so the Server knows it is still talking to the same computer.
> >
> >  7. Now both sides use this random number as a session key to encrypt
> > all
> > the communication during
> >  the connection.  The rest of the session is encrypted using the
> > default
> > cypher IDEA.
> >
> > 8. In the final step the client tries to authenticate itself using
> > password
> > authentication.  The .rhosts
> >  authentication is disabled by default on the Server, since it is
> > insecure.
> >  The Server can be
> >  configured using command line options which will override the config
> > file.
>
> ------------------------------------------------------------------------
> E-Mail: Carl J. Nobile <[EMAIL PROTECTED]>
> Date: 31-Mar-00                             Phone: 315-453-2912 Ex. 5336
> Time: 08:59:14                                Fax: 315-453-3052
>
> Software Engineering Group -- AppliedTheory Corp.
> 224 Harrison Street, 6th Floor, Syracuse, NY  13202
> ------------------------------------------------------------------------

Reply via email to