Before we begin, let's have a broad overview of the SSH protocol, which is more conducive to our understanding of this article. The first thing to mention is http://www.aliyun.com/zixun/aggregation/11991.html "> computer network protocol, the so-called Computer network protocol, simply defined a set of standards and rules, So that different computers can carry out normal network communication, not to appear on one machine issued on the other machine to become an illegible garbled, SSH is one of many agreements. After the classic seven-layer OSI model (Open System interconnection Reference model) appears, it solves the compatibility problem of network interconnection, it divides the network into three parts of service, interface and protocol, and the Protocol shows how to realize the service of this layer. The SSH and Telnet protocols are used primarily in the user layer (as shown in the darker part of Figure 1), i.e. the application layer, the presentation layer, and the session layer.
Figure 1. Seven-layer OSI model
Introduction to SSH
What is SSH
SSH (Secure Shell Kyoto) is an unsecured network protocol for secure Telnet and other secure network services. This definition is derived from the IETF (Internet UB Task Force). In the TCP/IP five-tier model, SSH is a security protocol that is applied to the application layer and the transport layer.
The advantages of SSH
Traditional network transmission, such as: Telnet, FTP, and so on, using the plaintext transmission of data and passwords, so easy to be hackers such intermediaries sniff to the transmission of data, greatly reducing the network's communication security. The SSH protocol uses data encryption to establish a secure network transmission channel, which enhances the security of the data in the network transmission process. The complexity of data encryption can result in more network resources being consumed. SSH compresses the encrypted data and slows down the network bandwidth. To sum up, the advantages of SSH are as follows:
Data encryption, improve the security data compression, improve the transmission speed of the network.
SSH Architecture
After a preliminary understanding of SSH, let's look at how the SSH protocol achieves secure data communication. First look at the main architecture of the SSH protocol:
Figure 2. The composition of the SSH protocol
Transport Layer protocol: typically running on top of TCP/IP, is the basis of many secure network services, providing data encryption, compression, server authentication and data integrity. For example, public key algorithm, symmetric encryption algorithm, message authentication algorithm, etc.
User authentication protocol: run on the transmission layer of the SSH protocol to detect the validity of the authentication method of the client.
Connection Agreement: Run on the user authentication layer, provide interactive logon session, remote command execution, forwarding TCP/IP connection functions, provide a secure and reliable encrypted transmission channel for data communication.