如何使用金鑰驗證在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伺服器上,而無需輸入密碼。
額外提示:
總結:
使用金鑰驗證能夠大幅提高伺服器的安全性,防止惡意登入和密碼暴力破解。本文介紹了在CentOS伺服器上實現更安全的SSH登入的方法,並提供了相應的程式碼範例。遵循這些步驟,您可以輕鬆設定伺服器的金鑰驗證,保障系統的安全。
以上是如何使用金鑰身份驗證在CentOS伺服器上實現更安全的SSH登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!