驗證ssh免密登入 如何配置 SSH 免密碼登入

2021-10-16 19:35:14 字數 817 閱讀 4904

ssh 是用於管理與伺服器通訊的加密協議。當你使用 linux 伺服器時,你的大部分時間有可能都花費在通過 ssh 連線到伺服器的終端會話中。

儘管有許多不同的通過 ssh 登入伺服器的方法,但在這篇文章中,我們將重點介紹 ssh 金鑰方式。 ssh 金鑰提供了一種簡單,但極其安全的登入伺服器的方法,這是我們向所有使用者推薦的方法。

ssh 金鑰如何工作?

ssh 伺服器可以使用許多不同的方法來驗證客戶端。其中最基本的是密碼認證,這易於使用,但不是最安全的。

儘管密碼是以安全的方式傳送到伺服器,但是它們通常不夠複雜或者不夠長,難以抵抗重複的,持久的攻擊者。儘管有其他方法可以給密碼認證額外新增一些安全性(fail2ban 等),但是 ssh 金鑰的方式已經是乙個可靠和安全的替代方法。

ssh 金鑰對是兩個加密的安全密碼,可用於給 ssh 伺服器驗證客戶端,每個金鑰對由公鑰和私鑰組成。

私鑰由客戶端保留,應該保持絕對隱私。私鑰一旦洩漏,攻擊者就可以直接登入到相關聯的公鑰配置的伺服器,而不需要額外的認證。而作為乙個額外的保護措施,私鑰可以用密碼再次加密。

相關的公鑰可以自由共享,沒有任何負面後果。公鑰可以用於加密只有私鑰可以解密的訊息。可以根據這個特性進行認證。

公鑰被上傳到你希望能夠使用 ssh 登入的遠端伺服器。該金鑰將新增到你用於登入的使用者帳戶目錄下~/.ssh/authorized_keys檔案中

當客戶端嘗試使用 ssh 金鑰進行身份驗證時,伺服器可以測試客戶端是否擁有私鑰。如果客戶端可以證明它擁有私鑰,則生成乙個終端會話或執行請求的命令。

基本流程如圖所示:

圖中表示的是膝上型電腦連線到伺服器,但它也可以認為乙個伺服器連線到另乙個伺服器。

SSH 免密登入配置

有兩種方式 私鑰登入和公鑰登入 私鑰登入 1 在主機a上生成秘鑰對 ssh keygen t rsa c 注釋文字 將生成的秘鑰對中的私鑰id rsa 複製到將要登入a機器的主機檔案中一班使用字尾.pem,例如 cat id rsa my.pem 2 將上述私鑰檔案交給授權登入的主機,注意,私鑰很重...

SSH免密登入配置

進入到hadoop使用者家目錄 cd 檢視當前目錄.ssh 隱藏檔案 ls al 進入ssh cd ssh 執行命令生成私鑰id rsa 公鑰 id rsa.pub ssh keygen t rsa 將公鑰內容放入hadoop1的authorized keys 檔案 ssh copy id hado...

SSH 免密登入配置

當你剛擁有乙個伺服器後,首先需要登入伺服器。本節主要聊一聊伺服器ssh登入配置。ssh p port root 12.234.567.789 p port 監聽的埠,如果不指定預設值為 22 vim ssh config 修改 ssh 配置檔案 ssh config host beijing hos...