PROTOCOL FIELD GUIDE
How SSH works
Establish an authenticated encrypted channel for a remote shell. Separate server identity verification, user authentication and channel multiplexing.
- Default port
- 22
- Transport / carrier
- TCP
- Category
- security
1. Exchange identification
Client and server send SSH-2.0 version strings before binary packet negotiation. These initial identification strings are visible on the network.
2. Negotiate algorithms and keys
KEXINIT lists algorithm preferences. Key exchange establishes shared secrets, while a server host-key signature authenticates the exchange.
3. Verify the host key
A known-host entry or another trusted mechanism binds the key to a host. A changed key needs investigation before trust is established again.
4. Authenticate the user
After NEWKEYS, protected messages authenticate a user with a supported method such as a public key. Server verification and user login are separate checks.
5. Open channels
An encrypted connection can multiplex shell, exec and forwarding channels with separate channel IDs and flow control.
Protocol relationships
Protocols cooperate across layers. Compare the neighboring lessons to distinguish addressing, delivery, application semantics and encryption.
Standards and editorial method
Written and implemented independently by NavSprout. Lessons summarize public protocol standards using synthetic documentation addresses and fictional credentials. Consult the standards for complete wire formats and normative behavior.
RFC 4251 ↗ RFC 4253 ↗