Linux中爲SSH啓用雙因素身份驗證

無論您是將Fedora Linux用於桌面還是服務器,都應考慮爲Secure Shell(SSH)登錄啓用雙因素身份驗證。爲什麼?因爲SSH是遠程登錄服務器的主要方式,所以您最不希望的是將該服務保持打開狀態以進行攻擊。

更好地鎖定它的一種方法是爲SSH啓用雙因素身份驗證。我想引導您完成這樣做的步驟,這樣您就可以享受Fedora臺式機和服務器的更高安全性。

準備:Fedora的一個實例啓動並運行。具有sudo訪問權限的用戶帳戶。您的移動設備上的第三方身份驗證器應用程序(例如Authy)。

在您開始討論之前,我強烈建議您在直接訪問Fedora的物理計算機上測試。如果出現問題,您能夠直接登錄到計算機,可以更方便解決問題。

安裝

第一步是安裝Google身份驗證器。打開終端窗口併發出以下命令:

sudo dnf install google-authenticator nano -y

安裝完成後,使用以下命令運行該工具:

google-authenticator

您將被問到以下問題:

Do you want authentication tokens to be time-based (y/n) y

Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

然後,應用程序將顯示QR碼,您需要掃描到Authy(在移動設備上)。您還將獲得一個密碼列表,您需要將其複製並保存在一個安全的祕密位置。成功掃描QR碼並保存恢復代碼後,您將再被問到三個問題(同樣,每個問題都回答“是”)。

配置SSH

在此之前,請確保您可以SSH到Fedora計算機。開箱即用,SSH守護程序可能未運行,因此請使用以下命令啓動並啓用它:

sudo systemctl start sshd

sudo systemctl enable sshd

SSH運行並啓用後,請確保從您計劃用於獲取遠程訪問權限的任何/所有計算機上將SSH密鑰複製到此計算機(用於SSH密鑰身份驗證)。這可以通過從需要訪問的每臺機器運行以下命令來完成:

ssh-copy-id USER @ FEDORA_IP

USER是Fedora機器上的用戶名,FEDORA_IP是Fedora機器的IP地址。

一旦您能夠使用SSH密鑰身份驗證SSH到Fedora計算機,就可以配置SSH以使用雙因素身份驗證。從終端窗口(在Fedora機器上),發出命令:

sudo nano /etc/pam.d/sshd

註釋掉第一行(通過在開頭添加#symbole)。該行現在看起來像:

#auth substack password-auth

在文件的底部,添加以下行:

auth sufficient pam_google_authenticator.so

保存並關閉該文件。

接下來,我們需要配置SSH守護進程。發出命令:

sudo nano / etc / ssh / sshd_config

首先,將ChallengeResponseAuthentication從no更改爲yes,如下所示:

ChallengeResponseAuthentication是的

接下來,將PasswordAuthentication更改爲no,如下所示:

PasswordAuthentication no

最後,將以下內容添加到該文件的底部:

AuthenticationMethods publickey,password publickey,keyboard-interactive

保存並關閉文件。

使用以下命令重新啓動SSH守護程序:

sudo systemctl restart sshd

登錄

準備好登錄。從您的一臺客戶端計算機上,打開終端窗口併發出命令:

ssh USER @ FEDORA_IP

USER是Fedora機器上的用戶名,FEDORA_IP是Fedora機器的IP地址。系統將提示您輸入驗證碼(圖A),您將從移動驗證應用中檢索該驗證碼。

圖A:我們提供驗證碼的SSH提示。

輸入代碼後,您應該可以訪問該計算機(因爲您設置了SSH密鑰身份驗證)。

恭喜,您現在可以爲Fedora機器設置雙因素身份驗證。每當有人嘗試使用SSH登錄該服務器或桌面時,如果沒有您的移動身份驗證應用程序生成的雙因素身份驗證代碼,他們將無法訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章