Linux:SSH免密碼登錄原理及實戰(zhàn)

2021-02-19    分類: 網站建設

SSH免密碼登錄原理,我們先來說說SSH的安全驗證,SSH采用的是"非對稱密鑰系統(tǒng)",即耳熟能詳?shù)墓€私鑰加密系統(tǒng),其安全驗證又分為兩種級別。

1、基于口令的安全驗證

這種方式使用用戶名密碼進行聯(lián)機登錄,一般情況下我們使用的都是這種方式。整個過程大致如下:

(1)客戶端發(fā)起連接請求。

(2)遠程主機收到用戶的登錄請求,把自己的公鑰發(fā)給客戶端。

(3)客戶端接收遠程主機的公鑰,然后使用遠程主機的公鑰加密登錄密碼,緊接著將加密后的登錄密碼連同自己的公鑰一并發(fā)送給遠程主機。

(4)遠程主機接收客戶端的公鑰及加密后的登錄密碼,用自己的私鑰解密收到的登錄密碼,如果密碼正確則允許登錄,到此為止雙方彼此擁有了對方的公鑰,開始雙向加密解密。

PS:當網絡中有另一臺冒牌服務器冒充遠程主機時,客戶端的連接請求被服務器B攔截,服務器B將自己的公鑰發(fā)送給客戶端,客戶端就會將密碼加密后發(fā)送給冒牌服務器,冒牌服務器就可以拿自己的私鑰獲取到密碼,然后為所欲為。因此當?shù)谝淮捂溄舆h程主機時,在上述步驟的第(3)步中,會提示您當前遠程主機的"公鑰指紋",以確認遠程主機是否是正版的遠程主機,如果選擇繼續(xù)后就可以輸入密碼進行登錄了,當遠程的主機接受以后,該臺服務器的公鑰就會保存到 ~/.ssh/known_hosts文件中。

2、基于密匙的安全驗證

這種方式你需要在當前用戶家目錄下為自己創(chuàng)建一對密匙,并把公匙放在需要登錄的服務器上。當你要連接到服務器上時,客戶端就會向服務器請求使用密匙進行安全驗證。服務器收到請求之后,會在該服務器上你所請求登錄的用戶的家目錄下尋找你的公匙,然后與你發(fā)送過來的公匙進行比較。如果兩個密匙一致,服務器就用該公匙加密"質詢"并把它發(fā)送給客戶端??蛻舳耸盏?質詢"之后用自己的私匙解密再把它發(fā)送給服務器。與第一種級別相比,第二種級別不需要在網絡上傳送口令。

PS:簡單來說,就是將客戶端的公鑰放到服務器上,那么客戶端就可以免密碼登錄服務器了,那么客戶端的公鑰應該放到服務器上哪個地方呢?默認為你要登錄的用戶的家目錄下的 .ssh 目錄下的 authorized_keys 文件中(即:~/.ssh/authorized_keys)。

3、使用場景

rsync自動備份時免密碼登錄,scp拷貝文件,集群環(huán)境中需要主機間互相通信如:Hadoop

實驗準備:準備兩臺Centos系統(tǒng)機器

服務端:192.168.8.7

客戶端:192.168.8.8

1)安裝SSH軟件,執(zhí)行以下命令

[root@localhost ~]# yum -y install openssh-clients openssh-server

[root@localhost ~]# ssh-keygen -t rsa -P '' ( 參數(shù)-P是大寫的,-P后面的單引號對與大寫P之前有空格)

1

2)直接按確定(Enter)即可,會生成公鑰(id_rsa.pub),私鑰(id_rsa)文件

2

3)拷貝公鑰到客戶端

[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.8.8

輸入確定或者yes,然后輸入客戶端root登錄密碼

3

4)免密匙認證測試(客戶端需要安裝openssh-clients)

[root@localhost ~]# touch test.txt

[root@localhost ~]# scp test.txt root@192.168.8.8:/root

4

5)客戶端驗證文件是否拷貝過來


分享文章:Linux:SSH免密碼登錄原理及實戰(zhàn)
文章轉載:http://www.muchs.cn/news23/101823.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、手機網站建設微信公眾號、標簽優(yōu)化服務器托管、網站收錄

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化