服务器设置和教程 · 6 10 月, 2024

CentOS 7 SSH 如何用密鑰登錄及密碼密鑰雙重驗證

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 提供多種選擇以滿足您的需求。