天天看點

沒有密碼怎麼配置互信?

點選上方藍字關注我

沒有密碼怎麼配置互信?

       資料庫或大資料叢集部署時,經常需要進行伺服器間免密(互信)操作,有些公司的DBA或大資料運維工程師擁有相應伺服器的密碼,而對于安全意識比較強的公司,DBA無作業系統賬号的密碼,隻能通過跳闆機(堡壘機)登入相關伺服器,此時該如何配置互信呢(可能有些工作了十幾年的人員都還不會),本文通過CentOS7作業系統進行示範。

1. 有密碼的情況

1.1 生成 SSH 密鑰對

在本地計算機上使用 ssh-keygen 指令生成 SSH 密鑰對。生成的密鑰對包括公鑰和私鑰,公鑰将用于免密登入。

ssh-keygen
           

在生成密鑰對時,需要指定密鑰類型(預設為 RSA),密鑰長度(預設為 2048 位),并為私鑰設定密碼(可選)。

1.2 将公鑰複制到伺服器

将本地計算機上的公鑰複制到伺服器上,可以使用 ssh-copy-id 指令,該指令會将公鑰添加到伺服器上的 authorized_keys 檔案中。要使用此指令,需要在指令中指定要将公鑰添加到的伺服器的使用者名和 IP 位址。

ssh-copy-id [email protected]_ip
           

1.3 測試免密登入

測試使用 SSH 連接配接到伺服器:

ssh [email protected]_ip
           

如果一切正常,将無需輸入密碼即可登入到伺服器。

需要注意的是,為了確定安全,應該禁用密碼登入。可以編輯伺服器上的 SSH 配置檔案 /etc/ssh/sshd_config,并将 PasswordAuthentication 選項設定為 no,以禁用密碼登入。完成後,重新啟動 SSH 服務以應用更改:

sudo systemctl restart sshd
           

這樣,就可以在 CentOS 伺服器上配置 SSH 公鑰認證,實作免密登入了。

2.  無密碼的情況

2.1  生成SSH密鑰對

ssh-keygen
           

在生成密鑰對時,需要指定密鑰類型(預設為 RSA),密鑰長度(預設為 2048 位),并為私鑰設定密碼(可選)。

2.2  手動拷貝公鑰到目标伺服器

手動拷貝上一步生成密鑰對中的公鑰内容,公鑰存儲在 ~/.ssh/id_rsa.pub檔案中,将其複制到目标伺服器的authorized_keys檔案中。

注意,authorized_keys每一行代表一個已知主機,每行末尾不要有多餘的字元(如空格等),否則将無法登入

2.3 測試免密登入

測試使用 SSH 連接配接到伺服器:

ssh [email protected]_ip
           

如果一切正常,将無需輸入密碼即可登入到伺服器。

3.  小結

公鑰與私鑰的用途:

        在 SSH 連接配接中,公鑰和私鑰用于 SSH 公鑰認證。當您連接配接到遠端伺服器時,伺服器會向您的 SSH 用戶端發送一個加密的請求,其中包括您本地計算機上的公鑰。如果伺服器在其 authorized_keys 檔案中找到您的公鑰,則伺服器将認為您是可信任的,并允許通路伺服器而不需要輸入密碼。

authorized_keys的作用:

        authorized_keys 是 SSH 協定中用于公鑰認證的檔案名。當使用 SSH 連接配接到遠端伺服器時,SSH 用戶端會向伺服器發送一個加密的請求,其中包括本地計算機上的公鑰。伺服器會檢查在 authorized_keys 檔案中是否存在對應的公鑰,如果存在,則認為是可信任的,并允許通路伺服器而不需要輸入密碼。

        值得注意的是,authorized_keys 檔案是一個文本檔案,每行包含一個公鑰。通常情況下,當在本地計算機上生成 SSH 密鑰對時,會自動在 ~/.ssh/authorized_keys 檔案中添加本機公鑰。如果需要添加其他使用者的公鑰以實作 SSH 公鑰認證,則可以将該使用者的公鑰添加到伺服器上的 authorized_keys 檔案中。

沒有密碼怎麼配置互信?

往期精彩回顧

1.  MySQL高可用之MHA叢集部署

2.  mysql8.0新增使用者及加密規則修改的那些事

3.  比hive快10倍的大資料查詢利器-- presto

4.  監控利器出鞘:Prometheus+Grafana監控MySQL、Redis資料庫

5.  PostgreSQL主從複制--實體複制

6.  MySQL傳統點位複制線上轉為GTID模式複制

7.  MySQL敏感資料加密及解密

8.  MySQL資料備份及還原(一)

9.  MySQL資料備份及還原(二)

沒有密碼怎麼配置互信?

掃碼關注     

沒有密碼怎麼配置互信?
沒有密碼怎麼配置互信?
沒有密碼怎麼配置互信?