SSH connectivity overview

  1. client requests an SSH session with server
  2. SSH Protocol sessions are exchanged, if they are compatible - they agree, otherwise - no connection
  3. Key Exchange information is shared with the cryptographic primitives that each side supports
  4. Both client and server negociate session key using Diffie-Helman algorithm, creating a symmetric key. At this point, if the server is not known to the client, you will see the request to add the key fingerprint to the clients known_hosts file
  5. New keys between client and server are established. Future communication uses these keys
  6. Encrypted session established, ready for authentication