Linux系統(tǒng)SSH通訊過程詳解

這篇文章來為大家介紹遠程連接 Linux 服務器,一般使用 Linux 系統(tǒng)的人都習慣借助第三方遠程連接,因為直接在 Linux 系統(tǒng)內(nèi)操作很不方便,它不能進行上拉頁面,這就很讓人難受。可以遠程連接的軟件很多,有 Xshell、putty、CRT 等等,但是我比較喜歡和習慣使用 Xshell。
說到遠程連接,那不得不說的一個協(xié)議就是 SSH 了,SSH 是 secure shell 的縮寫,是一個安全遠程管理的服務。它是一個建立在應用層上的安全遠程管理協(xié)議,算是目前較為可靠的一個傳輸協(xié)議,專門為遠程登陸會話和其他網(wǎng)絡服務器提供安全性,利用 ssh 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。這個協(xié)議可用于大多數(shù)的 UNIX 操作系統(tǒng)中,它能夠實現(xiàn)字符界面的遠程登錄管理,它默認使用 22 端口,采用密文的形式在網(wǎng)絡中傳輸資源,相對于通過明文傳輸?shù)?Telnet 協(xié)議,具有更高的安全性。
SSH 提供了基于賬戶密碼(口令)和密鑰對兩種登陸驗證方式,這兩者都是通過密文傳輸數(shù)據(jù)的。
賬戶密碼驗證過程:
Client → Server:連接請求 Server → Client:發(fā)送公鑰 Client → Server:用公鑰將密碼信息加密,發(fā)送 Server → Client:用密鑰解密并驗證消息,信息合法則建立連接通訊賬戶密碼登錄認證過程中傳輸?shù)氖怯脩舻馁~戶名和密碼,密碼具有足夠的復雜度才能具有更高的安全性。
ssh [email protected]
Client → Server:發(fā)送連接請求,并將公鑰發(fā)送; Server → Client:驗證本地公鑰和發(fā)送過來的公鑰,如果兩鑰相同,生成一段 challenge 并將公鑰加密,回送 ; Client → Server:用私鑰解密,再 challenge 返回給服務器 Server → Client:驗證兩端 challenge,相同則建立連接
關于用戶名密碼驗證登錄

密鑰對驗證登錄
1. 首先客戶端生成密鑰對文件
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fl3B1MUmxWWNTdOfad8oOyjGaaU+mas/ayawa4ptiJ8 root@client
The key's randomart image is:
+---[RSA 2048]----+
| ? ? ? ? ? ? .X@|
| ? ? ? ? ? ? oo.X|
| ? ? ? ? ? ? oo+|
| ? ? ? ? ? ? ? =.|
| ? ? ? S ? ? o.o|
| ? . . ..... o|
|.. ? o ..*...o ? |
|oo..o . #.. o ? |
|.oEo...X=* ? . ? |
+----[SHA256]-----+
加密:若加密,則在調(diào)用密鑰文件時需要先驗證密鑰的密碼,密碼正確才能使用密鑰文件; 不加密:若不加密,則密鑰文件可以直接被調(diào)用,整個登陸驗證過程無需輸入任何密碼,即為免密登錄;
2. 將公鑰文件上傳到服務器
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected].'s password:
Number of key(s) added: 1
Now try logging into the machine, with: ? "ssh '[email protected].'"
and check to make sure that only the key(s) you wanted were added.



評論
圖片
表情
