首頁  >  文章  >  運維  >  如何使用金鑰身份驗證在CentOS伺服器上實現更安全的SSH登入

如何使用金鑰身份驗證在CentOS伺服器上實現更安全的SSH登入

王林
王林原創
2023-07-05 18:15:071871瀏覽

如何使用金鑰驗證在CentOS伺服器上實現更安全的SSH登入

在伺服器管理中,保障系統安全至關重要。 SSH(Secure Shell)是一種加密網路協議,用於遠端登入Linux和UNIX伺服器。為了進一步加強伺服器的安全性,我們可以使用金鑰身份驗證來取代密碼登入。本文將介紹如何在CentOS伺服器上實現更安全的SSH登錄,並提供對應的程式碼範例。

第一步:產生金鑰對

首先,在本機上產生金鑰對。開啟終端機窗口,輸入以下指令:

ssh-keygen -t rsa

此指令將使用RSA演算法產生金鑰對。按Enter鍵確認金鑰儲存路徑和檔案名稱。隨後,系統會要求您輸入密鑰的密碼。您可以選擇設定密碼或留空,然後按Enter鍵繼續產生金鑰。

產生成功後,您將在指定路徑下找到兩個檔案:id_rsa(私鑰)和id_rsa.pub(公鑰)。

第二步:將公鑰複製到伺服器

接下來,將公鑰複製到CentOS伺服器上。使用以下命令將公鑰複製到伺服器:

ssh-copy-id user@server_ip_address

將「user」替換為您在CentOS伺服器上的用戶名,將「server_ip_address」替換為伺服器的IP位址。系統會要求您輸入密碼以進行身份驗證。

成功複製公鑰後,您將得到以下輸出:

Number of key(s) added: 1

第三步:設定SSH服務

在伺服器上,開啟SSH設定檔進行設定。使用以下命令開啟檔案:

sudo vi /etc/ssh/sshd_config

找到並確保以下行被取消註解並設定以下值:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

取消註解表示允許使用公鑰驗證,停用密碼驗證,以及禁止root用戶直接登入。修改後,儲存並關閉文件。

接下來,重新啟動SSH服務以應用變更:

sudo systemctl restart sshd

第四步:測試SSH登入

現在,您已經完成了設定。您可以使用以下命令測試SSH登入是否成功:

ssh user@server_ip_address

將「user」替換為您的用戶名,將「server_ip_address」替換為伺服器的IP位址。系統會嘗試使用您的私鑰進行身份驗證。

如果一切設定正確,您將成功登入CentOS伺服器上,而無需輸入密碼。

額外提示:

  • 為了進一步加強伺服器安全性,您可以使用Passphrase來保護私鑰。這樣,即使私鑰被盜,也無法通過身份驗證。
  • 確保私鑰檔案的權限設定為600,即只有擁有者可讀寫。
  • 使用不同的金鑰對來為多個使用者進行身份驗證。
  • 定期更換金鑰對,以增加安全性。

總結:

使用金鑰驗證能夠大幅提高伺服器的安全性,防止惡意登入和密碼暴力破解。本文介紹了在CentOS伺服器上實現更安全的SSH登入的方法,並提供了相應的程式碼範例。遵循這些步驟,您可以輕鬆設定伺服器的金鑰驗證,保障系統的安全。

以上是如何使用金鑰身份驗證在CentOS伺服器上實現更安全的SSH登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn