SSH安全協議

SSH安全協議

概念:

SSH 爲 Secure Shell 的縮寫,是一種網絡安全協議, 專爲遠程登錄會話和其他網絡服務提供安全性的協議。通過使用 SSH,可以把傳輸的數據進行加密,有效防止遠程管理過程中的信息泄露問題。

它是一種非對稱加密,有一個公鑰(加密),私鑰(解密),它是單向的,即只能用公鑰加密,私鑰解密,反着則不行。

從客戶端來看,有兩種驗證方式:基於密碼、基於密鑰。

基於密碼登錄:

SSH協議01

說明:
(1) 當客戶端發起 ssh 請求,服務器會把自己的公鑰發送給用戶;
(2) 用戶會根據服務器發來的公鑰對密碼進行加密;
(3) 加密後的信息回傳給服務器,服務器用自己的私鑰解密,如果密碼正確,
則用戶登錄成功。

基於密碼登錄練習:

先分享一下方便Linux操作的一個小工具(SecureCRT)。支持SSH協議,是Windows下登錄UNIX或Linux服務器主機的軟件。

鏈接:https://pan.baidu.com/s/1M3m6WLPbrWwqP7LI57hnAw
提取碼:e7g6

  1. 先打開node-1虛擬機,查看當前的IP地址。

    SSH協議02

  2. 打開SecureCRT軟件(SecureCRTPortable) ,選擇快速連接。然後輸入對應的IP地址和用戶名。

    SSH協議03

  3. 這裏選接受並保存,下面那個就是公鑰。

    SSH協議04

  4. 然後可能SecureCRT沒有下一步動作了,但是連接圖標卻是紅的。這是我們右鍵點擊當前窗口的選項卡,然後點擊重新連接,輸入密碼,重新連接。

    SSH協議05

  5. 然後我們可以查看到我們已經連接上了node-1了。

    SSH協議06

基於密鑰登錄:

SSH協議07

說明:
(1) 首先在客戶端生成一對密鑰(公鑰、私鑰);
(2) 客戶端將生成的公鑰拷貝到需要訪問的服務端機器上;
(3) 當客戶端再次發送一個連接請求,包括 ip、用戶名;
(4) 服務端得到客戶端的請求後,會到 authorized_keys 中查找,如果有相 應的 IP 和用戶,就會隨機生成一個字符串,例如:qwer;
(5) 服務端將使用客戶端拷貝過來的公鑰對隨機字符串 qwer 進行加密,然後 發送給客戶端;
(6) 得到服務端發來的消息後,客戶端會使用私鑰進行解密,然後將解密後 的字符串發送給服務端;
(7) 服務端接受到客戶端發來的字符串後,跟之前的字符串進行對比,如果 一致,就允許免密碼登錄。

OpenSSH

OpenSSH 是 SSH 協議的免費開源實現。
OpenSSH 由客戶端和服務端的軟件組成。服務端是一個守護進程(daemon),他在後臺運行並響應來自客戶端的連接請求。服務端一般是 sshd 進程,提供了對遠程連接的處理。
客戶端包含 ssh 程序以及像 scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應用程序。
默認情況下,CentOS 系統會自帶安裝 OpenSSH 服務。

基於密鑰登錄練習:

  1. 先把node-2虛擬機也打開。按照基於密碼登錄的方式使用SecureCRT連接上。

    SSH協議08

  2. 現在假設node-1爲客戶端,node-2爲服務端,現需要將客戶端遠程登錄到服務端。

  3. 在沒有免密登錄的情況下,要登錄到node-2 上:(爲了好識別,改一下名字)

    1. 輸入命令:ssh [email protected],因爲之前沒有連接過,然後會提示你是否繼續連接,輸入yes,然後輸入密碼登錄到node-2上。

      SSH協議09

    2. 使用exit退出後,我們再一次嘗試連接node-2,發現仍然要輸入密碼。

      SSH協議10

  4. 使用密鑰

    1. 先生成密鑰,輸入命令:ssh-keygen -t rsa,然後按四下回車,這樣就會生成一對公鑰和私鑰。

      SSH協議11

    2. 我們可以使用命令ll -a ,去查看當前路徑的文件,可以看到有一個 .ssh 的文件夾,使用 cd .ssh 進入這個文件夾

      SSH協議13

    3. 將公鑰拷貝到node-2上面,並且重命名爲:authorized_keys ,當前這個ssh協議有命令可以直接去幫我們做這件事。

      使用命令:ssh-copy-id 192.168.111.128

      完成後我們需要輸入node-2 的密碼,輸入正確後我們使用ll 命令就可以看到一個 叫 authorized_keys 的文件。

    4. 現在就是用node-1連接上node-2,使用命令:ssh [email protected]

      SSH協議14

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章