SSH_DISCONNECT_SERVICE_NOT_AVAILABLE
SSH_DISCONNECT_SERVICE_NOT_AVAILABLE (7) is sent when the client requests an SSH service that the server does not support or has disabled. After key exchange completes, the client sends SSH_MSG_SERVICE_REQUEST for a service name (typically ssh-userauth). If the server does not support that service, it responds with this disconnect.
Code
7
Category
Disconnect
Standard
RFC 4253 §11.1
Description
After completing SSH key exchange, the client must request an SSH service before it can proceed. The standard services are ssh-userauth (RFC 4252, for authentication) and ssh-connection (RFC 4254, for the connection layer). The client sends SSH_MSG_SERVICE_REQUEST with the service name, and the server either accepts with SSH_MSG_SERVICE_ACCEPT or rejects with SSH_MSG_DISCONNECT code 7.
This disconnect is uncommon with standard SSH clients because all servers support ssh-userauth. It is more likely to appear in non-standard SSH usage: custom SSH implementations, embedded SSH servers with limited service support, or SSH servers configured to only accept specific services.
A disconnect at this stage means authentication was never attempted – the server rejected the service before the client had a chance to present credentials.
Common Causes
- –Client requested a non-standard SSH service name not supported by the server
- –Embedded SSH server supporting only a subset of standard services
- –ssh-userauth service disabled on a restricted-function SSH server
- –Custom SSH implementation requesting a proprietary service name