如何在Linux中實現SSH的兩因素身份驗證(2FA)?
如何在Linux中實現SSH的兩因素身份驗證(2FA)?
在Linux系統上實施SSH的兩因素身份驗證(2FA),通過在授予訪問權限之前需要兩種形式的驗證來增強安全性。這是使用Google Authenticator設置2FA的分步指南,這是為此目的最受歡迎的工具之一:
-
安裝Google Authenticator :
首先,安裝Google Authenticator PAM模塊。在像Ubuntu這樣的基於Debian的系統上,您可以通過運行來執行此操作:<code>sudo apt-get update sudo apt-get install libpam-google-authenticator</code>
登入後複製在基於紅帽的系統(例如CentOS)上,您可以使用:
<code>sudo yum install google-authenticator</code>
登入後複製 -
為您的用戶配置Google Authenticator :
將google-authenticator
命令作為用戶運行:將使用SSH:<code>google-authenticator</code>
登入後複製此命令將生成一個秘密密鑰和QR碼。根據您的喜好回答提示,例如是否使用基於時間的令牌以及是否應每30秒更新密鑰。
-
配置PAM以使用Google Authenticator :
通過打開file/etc/pam.d/sshd
並在最後添加以下行:編輯SSH的PAM配置:<code>auth required pam_google_authenticator.so</code>
登入後複製 -
修改SSHD配置:
OPEN/etc/ssh/sshd_config
並確保配置以下設置:<code>ChallengeResponseAuthentication yes PasswordAuthentication no UsePAM yes</code>
登入後複製然後重新啟動SSH服務以應用更改:
<code>sudo systemctl restart sshd</code>
登入後複製 -
測試SSH登錄:
嘗試通過SSH登錄。現在,除了密碼外,還應提示您獲取驗證代碼。
使用2FA在Linux系統上使用SSH有哪些安全好處?
在Linux系統上為SSH實施兩因素身份驗證提供了幾種安全好處:
- 增強的安全性:2FA增加了一層安全性,使攻擊者更難獲得未經授權的訪問。即使密碼被妥協,攻擊者仍然需要第二個登錄的因素。
- 防止密碼攻擊:2FA減輕密碼,蠻力攻擊和密碼猜測所帶來的風險,因為訪問不僅需要密碼。
- 問責制和監視:使用2FA,每個登錄都可以與物理設備綁定,從而更容易跟踪和監視登錄嘗試並檢測可疑活動。
- 減少內部人士威脅:2FA可以通過確保員工的憑據被盜或濫用,可以限制內幕威脅的損害,第二個因素仍然是訪問的障礙。
- 遵守安全標準:許多監管框架和安全標準都需要使用2FA進行遠程訪問,因此實施它可以幫助組織滿足合規性要求。
我可以使用哪些工具或軟件在Linux上設置2FA?
有幾種工具和軟件選項可用於在Linux上為SSH設置2FA,包括:
- Google Authenticator :Google Authenticator易於設置並使用基於時間的一次性密碼(TOTP),在大多數Linux發行版中廣泛使用和支持。
- Authy :類似於Google Authenticator,但具有多設備同步和備份等其他功能。
- Duo Security :一種全面的解決方案,可提供2FA以及高級功能,例如用於身份驗證和與各種系統集成的推送通知。
- Yubikey :一種基於硬件的2FA解決方案,使用U2F(通用第二因子),並且由於其物理性質非常安全。
- Linux-PAM :Linux上的可插入身份驗證模塊(PAM)框架可以配置為使用包括Google Authenticator在內的各種2FA解決方案。
- FreeOTP :Google Authenticator的開源替代方案,可在許多平台上使用。
在Linux服務器上配置SSH時,如何對常見問題進行故障排除?
在Linux服務器上為SSH配置2FA時,您可能會遇到幾個常見問題。這是對它們進行故障排除的方法:
-
配置2FA後,SSH連接失敗:
-
檢查SSHD配置:確保將
ChallengeResponseAuthentication
設置為yes
,並將UsePAM
設置為yes
IN/etc/ssh/sshd_config
。 -
驗證PAM配置:確認
auth required pam_google_authenticator.so
將正確添加到/etc/pam.d/sshd
中。
-
檢查SSHD配置:確保將
-
驗證代碼未接受:
- 時間同步:確保正確設置和同步系統時間。基於時間的一次性密碼(TOTP)依賴於準確的計時。
-
秘密密鑰問題:驗證
google-authenticator
生成的秘密鍵是否由PAM模塊正確存儲和使用。
-
身份驗證提示未出現:
-
檢查PAM配置順序:
/etc/pam.d/sshd
事項中的條目順序。確保不會被後續條目覆蓋Google Authenticator條目。
-
檢查PAM配置順序:
-
登錄循環或懸掛:
-
調試SSHD :使用帶有SSH的
-d
標誌啟用調試模式並捕獲日誌以了解登錄過程失敗的位置:<code>ssh -v user@host</code>
登入後複製 -
檢查日誌:檢查系統日誌是否有任何相關錯誤消息:
<code>sudo journalctl -u sshd</code>
登入後複製
-
-
硬件令牌問題:
- 設備驅動程序問題:如果使用Yubikey等硬件令牌,請確保系統安裝和識別正確的驅動程序。
通過遵循這些故障排除步驟,您可以解決常見問題並確保2FA在Linux服務器上的SSH正常工作。
以上是如何在Linux中實現SSH的兩因素身份驗證(2FA)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Debian系統中,Tigervnc服務器的日誌文件通常存儲在用戶的home目錄下的.vnc文件夾內。如果您以特定用戶身份運行Tigervnc,那麼日誌文件名通常類似於xf:1.log,其中xf:1代表用戶名。要查看這些日誌,您可以使用以下命令:cat~/.vnc/xf:1.log或者,您可以使用文本編輯器打開日誌文件:nano~/.vnc/xf:1.log請注意,訪問和查看日誌文件可能需要root權限,這取決於系統的安全設置。

Debian系統中的readdir函數是用於讀取目錄內容的系統調用,常用於C語言編程。本文將介紹如何將readdir與其他工具集成,以增強其功能。方法一:C語言程序與管道結合首先,編寫一個C程序調用readdir函數並輸出結果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

DebianSniffer是一個網絡嗅探工具,用於捕獲和分析網絡數據包時間戳(Timestamp):顯示數據包捕獲的時間,通常以秒為單位。源IP地址(SourceIP):發送數據包的設備的網絡地址。目標IP地址(DestinationIP):接收數據包的設備的網絡地址。源端口(SourcePort):發送數據包的設備使用的端口號。目標端口(Destinatio

本文介紹如何在Debian系統中清理無用軟件包,釋放磁盤空間。第一步:更新軟件包列表確保你的軟件包列表是最新的:sudoaptupdate第二步:查看已安裝的軟件包使用以下命令查看所有已安裝的軟件包:dpkg--get-selections|grep-vdeinstall第三步:識別冗餘軟件包利用aptitude工具查找不再需要的軟件包。 aptitude會提供建議,幫助你安全地刪除軟件包:sudoaptitudesearch'~pimportant'此命令列出標記

本文介紹如何在Debian系統上有效監控Nginx服務器的SSL性能。我們將使用NginxExporter將Nginx狀態數據導出到Prometheus,再通過Grafana進行可視化展示。第一步:配置Nginx首先,我們需要在Nginx配置文件中啟用stub_status模塊來獲取Nginx的狀態信息。在你的Nginx配置文件(通常位於/etc/nginx/nginx.conf或其包含文件中)中添加以下代碼段:location/nginx_status{stub_status

在Debian系統上安裝PHPStorm,輕鬆搞定你的PHP開發環境!以下步驟將引導您完成整個安裝過程。安裝步驟:下載PHPStorm:訪問JetBrains官網,下載PHPStorm最新版本。解壓安裝包:使用wget或curl下載後,解壓到指定目錄(例如/opt)。命令示例:wgethttps://download.jetbrains.com/phpstorm/phpstorm-2024.3.5.tar.gztar-xzfphpstorm-2024.3.5.tar.gz

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。
