< 返回

什么是基于SSH密鑰的身份驗證?

2023-04-26 11:41 作者:joseph wu 閱讀量:2466

Secure Shell (SSH) 仍然是連接到遠程 Linux 服務器和各種網(wǎng)絡設備的實際方式。隨著對 Ansible 等自動化技術的更大依賴,它的使用不僅沒有失去重要性,反而有所增加。

SSH安全最佳實踐

假設您的開發(fā)團隊在他們的測試環(huán)境中建立了一個新的網(wǎng)絡服務器,并且忽略了在服務器的防火墻中打開端口 80 和 443。團隊與您聯(lián)系,要求您解決問題。您可以使用 SSH 遠程訪問網(wǎng)絡服務器。您建立連接,在出現(xiàn)提示時輸入密碼并完成防火墻配置。它快速、簡單且安全。但是有更好的方法嗎?

本教程涵蓋實施和使用基于密鑰的身份驗證以支持更輕松的 SSH 身份驗證和改進的自動化。SSH 身份驗證方法可能是CompTIA Linux+和CompTIA Security+考試的主題。

在您的家庭實驗室中將本教程與兩個或多個基于 Linux 的虛擬機一起使用。熟悉基于密鑰的身份驗證的另一種好方法是在連接到Raspberry Pi計算機時使用它。這些設備是開始使用 Linux 的好方法。

標準 SSH 身份驗證

SSH 的標準語法包括ssh命令、連接用戶的名稱以及目標設備的名稱或 IP 地址。之后,遠程系統(tǒng)提示輸入帳戶密碼。

ssh密碼

圖 1:標準 SSH 連接的密碼挑戰(zhàn)

您現(xiàn)在已連接到系統(tǒng),可以根據(jù)您當前的身份進行更改或使用sudo提升您的權限。

什么是基于 SSH 密鑰的身份驗證?

基于密鑰的身份驗證通過使用公鑰/私鑰對替換 SSH 身份驗證質詢中的“您知道的”密碼部分。這種非對稱加密唯一地標識了用戶。也許更重要的是,至少在自動化的情況下,它不需要手動輸入密碼。SSH 自動傳遞身份驗證密鑰。假設遠程系統(tǒng)接受密鑰,則身份驗證是立即且無聲的。

實施步驟

實施基于密鑰的身份驗證很簡單,包括三個步驟:

1.生成密鑰對

2.復制公鑰到遠程服務器

3.測試認證

您還可以編輯/etc/ssh/sshd_config文件以要求在您的遠程系統(tǒng)上進行基于密鑰的身份驗證。

以下是這三個實施步驟的更多詳細信息。

生成密鑰對

公鑰/私鑰對是一組在數(shù)學上相關的密鑰,可以唯一地標識用戶或計算機。Linux ssh-keygen命令生成密鑰。根據(jù)您組織的安全要求,您可以使用-t選項來創(chuàng)建各種類型的密鑰。選項包括 RSA、DSA 和 ECDSA。

使用以下命令在您將連接到遠程設備的客戶端計算機上創(chuàng)建密鑰對:

# ssh-keygen

檢查~/.ssh目錄中的密鑰。您將看到id_rsa(私鑰)和id_rsa.pub(公鑰)。密鑰名稱可能因所選的加密方法而異。

ssh-keygen-cmd

圖 2:ssh-keygen 命令生成公鑰/私鑰對

滾動到文件底部并觀察用戶名。請記住,這是遠程系統(tǒng)識別的用戶。

密鑰生成實用程序為您提供了設置密碼的機會。按兩次Enter跳過此提示。您可能不想設置密碼,尤其是當您在自動化環(huán)境中使用 SSH 時。

復制公鑰

密鑰對現(xiàn)在駐留在您的客戶端計算機上。這可能是您辦公桌上用于遠程連接到您負責的各種設備的計算機。下一步是將公鑰復制到遠程系統(tǒng)。

Linux 也有針對此任務的特定命令。命令是ssh-copy-id。例如,要將用戶student的密鑰復制到遠程服務器192.168.1.101,請鍵入:

# ssh-copy-id學生@192.168.1.101

ssh-copy-id-cmd

圖 3:ssh-copy-id 命令將用戶的公鑰復制到遠程服務器

遠程系統(tǒng)提示您輸入密碼。鍵入用于連接到目標服務器的用戶帳戶的密碼。如果一切順利,這是您最后一次必須輸入此密碼。

您可以檢查遠程系統(tǒng)的~/.ssh/authorized_keys文件并找到公鑰。

公鑰

圖 4:公鑰文件的內容

測試身份驗證

測試新的身份驗證方法就像建立 SSH 連接一樣簡單。鍵入通常的ssh命令并觀察遠程系統(tǒng)不會向您詢問密碼。你只是連接!

ssh-key-login-nopassword

圖 5:基于密鑰的 SSH 連接沒有密碼挑戰(zhàn)

SSH 連接在后臺傳遞公鑰,證明您的身份。

明顯的好處是易于連接。不再被要求輸入密碼很方便。然而,在自動化的背景下,基于密鑰的身份驗證使管理員不必輸入或嘗試保護文件中的密碼。自動化工具可以在管理員不在場的情況下使用 SSH 連接并完成它們的任務。很難夸大此功能在當今自動化世界中的重要性。

強制執(zhí)行基于密鑰的身份驗證

SSH 的基于密鑰的身份驗證肯定會改善您組織的安全狀況。要實施此方法,請更新遠程服務器上的/etc/ssh/sshd_config文件以要求基于密鑰的身份驗證并拒絕基于密碼的連接嘗試。

打開遠程服務器上的/etc/ssh/sshd_config文件進行編輯。找到讀取PubKeyAuthentication的節(jié)并將其編輯為yes。找到PasswordAuthentication的節(jié)并將其設置為no。

密碼認證號

PubKeyAuthentication 是

當您這樣做時,請考慮其他 SSH 安全最佳實踐,例如將用戶列入白名單和拒絕 root 帳戶的遠程連接。以下條目可能有助于更好地保護您的 SSH 連接。在生產環(huán)境中實施它們之前,請務必了解并測試它們。一個錯誤可能會停止與服務器的遠程連接。

PermitEmptyPasswords 否

PermitRoot登錄號

允許用戶 admin1

保持練習

基于 SSH 密鑰的身份驗證對于當今的遠程管理和自動化任務至關重要。花幾分鐘清點您經(jīng)常通過 SSH 連接的 Linux 服務器和網(wǎng)絡設備,然后創(chuàng)建一個密鑰對。將公鑰復制到這些系統(tǒng)。我還鼓勵您將這些目標設備配置為需要 SSH 密鑰進行身份驗證并拒絕基于密碼的嘗試。

如果您正在準備 CompTIA Linux+、CompTIA Security+ 或CompTIA Cyber??security Analyst (CySA+)等認證考試,請確保您可以識別與基于密鑰的身份驗證相關的組件和命令。在您的家庭實驗室環(huán)境中完成這些步驟,直到它們成為第二天性。

聯(lián)系我們
返回頂部 主站蜘蛛池模板: 色婷婷亚洲一区二区三区 | 精品国产一区二区三区在线| 亚洲乱码av中文一区二区 | 亚洲AV福利天堂一区二区三| 亚洲国产成人精品无码一区二区| 美女视频免费看一区二区| 久久久精品人妻一区二区三区蜜桃 | 一区高清大胆人体| aⅴ一区二区三区无卡无码| 国产精品视频一区二区猎奇| 波多野结衣AV无码久久一区| 日韩在线观看一区二区三区| 3d动漫精品啪啪一区二区免费 | 福利一区二区视频| 日韩免费无码视频一区二区三区| 精品日韩一区二区| 人妖在线精品一区二区三区| 99精品国产高清一区二区三区| 国产一区在线电影| 亚洲一区二区三区丝袜| 日韩精品区一区二区三VR| 国产一区二区三区精品视频| 国产一区二区三区四| 国产日韩一区二区三区在线播放| 日本免费一区二区久久人人澡| 精品视频在线观看一区二区| 亚洲欧美成人一区二区三区| 亚洲视频在线一区二区三区| 国产午夜精品一区理论片| 国产av福利一区二区三巨 | 大帝AV在线一区二区三区| 在线精品国产一区二区| 国产99精品一区二区三区免费| 国产视频福利一区| 影院成人区精品一区二区婷婷丽春院影视| 亚洲无删减国产精品一区| 国产亚洲日韩一区二区三区| 国产精品一区在线观看你懂的| 国产一区二区三区免费看| 日韩精品电影一区| 欧美日本精品一区二区三区 |