CentOS 7 SSH 如何用密鑰登錄及密碼密鑰雙重驗證
在當今的網絡環境中,安全性是每個系統管理員必須重視的問題。SSH(Secure Shell)是一種安全的遠程登錄協議,廣泛應用於Linux系統中。本文將介紹如何在CentOS 7上使用SSH密鑰登錄,以及如何設置密碼和密鑰的雙重驗證,以增強系統的安全性。
一、SSH密鑰登錄的概念
SSH密鑰登錄是一種基於公鑰加密的身份驗證方式。與傳統的密碼登錄相比,密鑰登錄更為安全,因為它不需要在網絡上傳輸密碼。用戶生成一對密鑰:公鑰和私鑰。公鑰存放在服務器上,而私鑰則保存在用戶的本地機器上。
二、生成SSH密鑰
首先,您需要在本地機器上生成一對SSH密鑰。可以使用以下命令:
ssh-keygen -t rsa -b 2048執行此命令後,系統會提示您選擇密鑰的保存位置和設置密碼。默認情況下,密鑰將保存在~/.ssh/id_rsa和~/.ssh/id_rsa.pub中。
三、將公鑰上傳到CentOS 7服務器
生成密鑰後,您需要將公鑰上傳到CentOS 7服務器。可以使用以下命令:
ssh-copy-id username@server_ip請將“username”替換為您的用戶名,將“server_ip”替換為您的服務器IP地址。這個命令會將公鑰自動添加到服務器的~/.ssh/authorized_keys文件中。
四、配置SSH服務器
在服務器上,您需要確保SSH服務器允許使用密鑰登錄。編輯SSH配置文件:
sudo vi /etc/ssh/sshd_config確保以下行未被註釋(即前面沒有#號):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然後,重啟SSH服務器以應用更改:
sudo systemctl restart sshd五、設置密碼和密鑰的雙重驗證
為了進一步增強安全性,您可以設置密碼和密鑰的雙重驗證。這需要安裝Google Authenticator或類似的應用程序。首先,安裝Google Authenticator:
sudo yum install epel-release
sudo yum install google-authenticator然後,運行以下命令以生成密鑰:
google-authenticator根據提示進行設置,並記下生成的密碼。接下來,編輯SSH配置文件以啟用雙重驗證:
sudo vi /etc/ssh/sshd_config添加以下行:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive然後,重啟SSH服務器:
sudo systemctl restart sshd六、測試登錄
現在,您可以嘗試使用SSH密鑰登錄到CentOS 7服務器。使用以下命令:
ssh username@server_ip如果一切設置正確,您將首先通過密鑰進行身份驗證,然後系統會要求您輸入Google Authenticator生成的驗證碼。
總結
通過以上步驟,您可以在CentOS 7上成功設置SSH密鑰登錄及密碼密鑰雙重驗證,從而顯著提高系統的安全性。對於需要高安全性的環境,這種配置是非常推薦的。如果您正在尋找可靠的 香港VPS 解決方案,Server.HK 提供多種選擇以滿足您的需求。