SSH overview

Eliot Lim 1/27/98


  1. What is SSH?
  2. Why should I use SSH?
  3. SSH addresses the following traditional security weaknesses:

    SSH assumes an insecure network

  4. How does SSH work?
    1. Session initialization

      • Host private and public key generated once at install time with the ssh-keygen command
      • sshd generates a server key on start up
      • server sends host public key, server key and 64 bit random number (cookie) to client
      • both sides compute a session id using these
      • client computes session key (1Kb) encrypted by server's keys and cookie, which is used to encrypt the connection

    2. User authentication

      1. regular rhosts authentication. (disabled in our configuration)

      2. RSA rhosts authentication
        • server checks to see if .rhosts or /etc/hosts.equiv exist (or .shosts and /etc/shosts.equiv)
        • server checks to see if client's host public key is known (i.e. if it exists in /etc/ssh_known_hosts or ~/.ssh/ssh_known_hosts)
        • if found server uses the client's public key and generates an encrypted challenge to the client
        • client decrypts challenge using its host private key and responds
        • session is authenticated without use of a password
        • if server's public key is not known, client will ask user if ok to copy the key into ~/.ssh/known_hosts

      3. pure RSA authentication
        • does not trust host
        • User generates a private/public user key pair once with the ssh-keygen command
        • when client connects, server takes user's public key and generates an encrypted challenge
        • if client knows the user's private key, user at client end will decrypt the challenge and be authenticated.

      4. regular password authentication
        • the cleartext password is sent across the encrypted connection to the server and authenticated through regular methods.

  5. SSH administration
  6. Other ssh features