這篇文章來爲你們介紹遠程鏈接 Linux 服務器,通常使用 Linux 系統的人都習慣藉助第三方遠程鏈接,由於直接在 Linux 系統內操做很不方便,它不能進行上拉頁面,這就很讓人難受。能夠遠程鏈接的軟件不少,有 Xshell、putty、CRT 等等,可是我比較喜歡和習慣使用 Xshell。shell
說到遠程鏈接,那不得不說的一個協議就是 SSH 了,SSH 是 secure shell 的縮寫,是一個安全遠程管理的服務。它是一個創建在應用層上的安全遠程管理協議,算是目前較爲可靠的一個傳輸協議,專門爲遠程登錄會話和其餘網絡服務器提供安全性,利用 ssh 協議能夠有效防止遠程管理過程當中的信息泄露問題。這個協議可用於大多數的 UNIX 操做系統中,它可以實現字符界面的遠程登陸管理,它默認使用 22 端口,採用密文的形式在網絡中傳輸資源,相對於經過明文傳輸的 Telnet 協議,具備更高的安全性。安全
SSH 提供了基於帳戶密碼(口令)和密鑰對兩種登錄驗證方式,這二者都是經過密文傳輸數據的。服務器
帳戶密碼驗證過程:網絡
Linux 主機之間的遠程管理工具是 ssh 命令,全部咱們直接使用 ssh 進行遠程登陸。dom
格式:ssh 用戶名@IP 地址
ssh root@192.168.88.20 ssh
密鑰對驗證過程:ide
首先須要在 Client 上建立一對密鑰,而且要把公鑰放在須要訪問的 Server 上;當 Client 須要鏈接 Server 時,Client 端的軟件就會向 Server 端發出登陸請求,請求使用密 鑰對中的公鑰進行安全驗證; Server 收到請求以後,會在該用戶的家目錄下查詢公鑰文件,拿 Client 發送過來的公鑰和本身家目錄下的公鑰進行比較;若是兩個公鑰一致,server 就會用公鑰加密 「challenge(質疑)」,並把它發送給 Client 軟件。Client 收到加密內容以後,使用本地的私鑰進行解密,再把解密結果發送給 Server 端,Server 端驗證成功後,容許登錄。工具
注意:若對比結果失敗,則 Server 端會通知 Client 端此公鑰未在本機註冊,沒法驗證登陸。測試
Linux 主機之間的遠程管理工具是 ssh
命令,因此咱們直接使用 ssh
進行遠程登陸。加密
格式:ssh 用戶名@IP地址
能夠看到咱們在 client 主機上遠程登陸 server 端,是很容易的,只要知道服務器的密碼,就能夠完成登陸操做。
[root@client ~]$ ssh-keygen -t rsa -b 2048
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]-----+
ssh-keygen 是生成密鑰對的工具,-t
選項是用來指定加密類型的,此處採用 rsa 加密類型,-b
選項是用來指定密鑰對加密長度的。
關於上述生成密鑰對時的兩個詢問解釋以下:
詢問 1:執行過程當中會詢問保存位置,通常默認保存在當前用戶家目錄下的 .ssh/ 目錄下;
詢問 2:是否對密鑰文件進行加密
這裏使用 ssh-copy-id
命令進行公鑰的上傳。
[root@client ~]$ ssh-copy-id root@.71.74.
/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
root@.71.74.'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@.71.74.'"
and check to make sure that only the key(s) you wanted were added.
通過對比客戶端和服務端公鑰內容相同,能夠看到密鑰上傳成功。密鑰上傳成功以後,咱們嘗試在客戶端上登陸服務器:
能夠看到,此次登陸咱們並無輸入密碼,直接就登陸成功。關於上述演示說明:由於使用的公網服務器進行測試,因此部分敏感地方有作打碼,可是這並不妨礙讀者閱讀,其實這個實驗仍是蠻有意思的,感興趣的朋友能夠嘗試練習。