SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED
SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED (8) is sent when the server does not support the SSH protocol version offered by the client. SSH-2.0 is the only current version; SSH-1.x is insecure and obsolete. Servers that have disabled SSH-1 compatibility will disconnect clients that offer SSH-1.
Code
8
Category
Disconnect
Standard
RFC 4253 §11.1
Description
SSH protocol version negotiation happens in the identification string exchange, before any SSH messages. Each side sends a version string of the form SSH-protoversion-softwareversion. SSH-2.0 is the current standard (RFC 4253). SSH-1.x is broken and insecure.
If a client connects with an SSH-1.x identification string and the server has disabled SSH-1 (which all modern servers should have), the server sends disconnect code 8. This disconnect also applies to any future SSH protocol versions: a server that does not support SSH-3.0 would send code 8 to a client offering only SSH-3.0.
In practice this disconnect is almost exclusively seen with extremely old SSH clients (pre-2000 vintage) or legacy embedded devices that have not been updated and only implement SSH-1.
Common Causes
- –Very old SSH client offering SSH protocol version 1.x
- –Legacy embedded device (router, switch, IoT) implementing SSH-1 only
- –SSH client configured to use SSH-1 via Protocol 1 directive