Une connexion passe d’abord par la couche transport (échange de clés, signature du serveur avec sa clé d’hôte, chiffrement), puis par l’authentification de l’utilisateur, puis par des canaux multiplexés. Les noms d’échange de clés décrivent l’hybride utilisé, comme mlkem768x25519-sha256 (par défaut dans OpenSSH depuis la 10.0), sntrup761x25519-sha512 ou curve25519-sha256 ; les algorithmes de chiffrement sont des AEAD comme chacha20-poly1305@openssh.com et aes256-gcm@openssh.com.
Types de clés : ssh-ed25519, ecdsa-sha2-nistp256, rsa-sha2-256 et rsa-sha2-512 (clés RSA qui signent avec SHA-2 ; la signature SHA-1 ssh-rsa est désactivée par défaut depuis OpenSSH 8.8), les clés adossées à FIDO sk-ssh-ed25519@openssh.com et sk-ecdsa-sha2-nistp256@openssh.com, ainsi que les certificats. DSA a été supprimé dans OpenSSH 10.0. OpenSSH 10.4 (juillet 2026) a ajouté une signature composite expérimentale ML-DSA-44 plus Ed25519, désactivée par défaut.
Par défaut, la confiance s’établit au premier usage : le client enregistre la clé d’hôte dans known_hosts lors de la première connexion et affiche un avertissement très visible si elle change. Dans les parcs plus importants, les certificats SSH ou les enregistrements DNS SSHFP remplacent cet acte de foi. L’audit de serveur SSH vérifie quels algorithmes un serveur propose.