168
Configuring SSH2.0
SSH offers an approach to logging in to a remote device securely. Using encryption and strong
authentication, SSH protects devices against attacks such as IP spoofing and plain text password
interception.
The switch can not only work as an SSH server to support connections with SSH clients but also work as
an SSH client to allow users to establish SSH connections with a remote device acting as the SSH server.
When acting as an SSH server, the switch supports SSH2.0 and SSH1. When acting as an SSH client,
the switch only supports SSH2.0.
Unless otherwise noted, SSH in this document refers to SSH2.0.
SSH operation
To establish an SSH connection and communicate with each other through the connection, an SSH client
and the SSH server go through the stages listed in
.
Table 11
Stages in session establishment and interaction between an SSH client and the server
Stages Description
SSH1 and SSH2.0 are supported. The two parties negotiate a version
to use.
SSH supports multiple algorithms. The two parties negotiate
algorithms for communication and use the DH key exchange
algorithm to generate the same session key and session ID.
The SSH server authenticates the client in response to the client’s
authentication request.
After passing authentication, the client sends a session request to the
server.
After the server grants the request, the client and the server start to
communicate with each other.
Version negotiation
1.
The server opens port 22 to listen to connection requests from clients.
2.
The client sends a TCP connection request to the server.
3.
After the TCP connection is established, the server sends a packet that carries a version information
string to the client. The version information string is in the format SSH-<primary protocol version
number>.<secondary protocol version number>-<software version number>. The primary and
secondary protocol version numbers constitute the protocol version number. The software version
number is used for debugging.
4.
After receiving the packet, the client resolves the packet and compares the server’s protocol version
number with that of its own. If the server’s protocol version is lower and supportable, the client uses
the protocol version of the server; otherwise, the client uses its own protocol version. In either case,
the client sends a packet to the server to notify the server of the protocol version that it decides to
use.