Uma conexão executa a camada de transporte (troca de chaves, assinatura com a chave de host do servidor, criptografia), depois a autenticação do usuário e, por fim, canais multiplexados. Os nomes de troca de chaves descrevem o híbrido em uso, como mlkem768x25519-sha256 (padrão do OpenSSH desde a 10.0), sntrup761x25519-sha512 ou curve25519-sha256; as cifras são AEADs como chacha20-poly1305@openssh.com e aes256-gcm@openssh.com.
Tipos de chave: ssh-ed25519, ecdsa-sha2-nistp256, rsa-sha2-256 e rsa-sha2-512 (chaves RSA que assinam com SHA-2; a assinatura SHA-1 ssh-rsa está desativada por padrão desde o OpenSSH 8.8), sk-ssh-ed25519@openssh.com e sk-ecdsa-sha2-nistp256@openssh.com, baseados em FIDO, e certificados. O DSA foi removido no OpenSSH 10.0. O OpenSSH 10.4 (julho de 2026) acrescentou uma assinatura composta experimental ML-DSA-44 mais Ed25519, desativada por padrão.
Por padrão, a confiança vem do primeiro uso: o cliente registra a chave de host no known_hosts na primeira conexão e emite um alerta bem visível se ela mudar. Em frotas maiores, certificados SSH ou registros SSHFP no DNS substituem esse salto de fé. A auditoria de servidores SSH verifica quais algoritmos um servidor oferece.