Reference map
The SSH specifications are a family, not one linear document. Use this map to find the authoritative field layout or behavior behind a course explanation.
Core documents
- RFC 4251 — SSH Protocol Architecture: layers, terminology, data types, algorithm naming, and security model.
- RFC 4252 — SSH Authentication Protocol:
the
ssh-userauthservice and core authentication methods. - RFC 4253 — SSH Transport Layer Protocol: identification, packet framing, KEXINIT, original key exchanges, key derivation, service negotiation, and rekeying.
- RFC 4254 — SSH Connection Protocol: global requests, channels, flow control, sessions, and TCP forwarding.
- RFC 4250 — SSH Protocol Assigned Numbers and the live IANA SSH Protocol Parameters registries: message numbers, disconnect reasons, service names, and algorithm names.
Algorithms and extensions used in this course
- RFC 4419 — Diffie-Hellman Group Exchange
- RFC 4344 — SSH Transport-Layer Encryption Modes
- RFC 5656 — Elliptic Curve Algorithms for SSH
- RFC 5647 — AES-GCM for SSH
- RFC 6668 — SHA-2 Data Integrity Verification
- RFC 8268 — SHA-2 with finite-field DH
- RFC 8308 — Extension Negotiation
- RFC 8332 — RSA Keys with SHA-2 Signatures
- RFC 8709 — Ed25519 and Ed448 Host Keys
- RFC 8731 — Curve25519 and Curve448 Key Exchange
- RFC 9142 — Updated KEX Recommendations
- RFC 9941 — Hybrid sntrup761/X25519 Key Exchange
- RFC 10042 — ML-KEM Hybrid Key Exchange for SSH
Authentication and key representation
- RFC 4256 — Keyboard-Interactive Authentication
- RFC 4716 — SSH Public Key File Format
- RFC 6187 — X.509v3 Certificates for SSH
Reading rules
Core RFCs are old enough that later documents update parts of them. Read the “Updates” and “Updated by” metadata on the RFC Editor page, and separate three questions:
- Is the wire format assigned and understood?
- Is the algorithm recommended for a new implementation today?
- Is it allowed by this client’s deployment policy?
Those answers can differ. IANA registration records interoperability names; it does not by itself make an algorithm secure or appropriate.
The OpenSSH project also documents widely deployed extensions on its specifications page. Treat an active Internet-Draft or vendor extension as such until it is published as an RFC.