Linux系統中的SSH如何添加雙重認證

    時間:2024-09-01 15:28:24 Linux認證 我要投稿
    • 相關推薦

    Linux系統中的SSH如何添加雙重認證

      近來很多知名企業都出現了密碼泄露,業內對多重認證的呼聲也越來越高。在這種多重認證的系統中,用戶需要通過兩種不同的認證程序:提供他們知道的信息(如 用戶名/密碼),再借助其他工具提供用戶所不知道的信息(如 用手機生成的一次性密碼)。這種組合方式常叫做雙因子認證或者兩階段驗證。

      那么我們要如何為Linux系統中的SSH添加雙重認證,下面跟yjbys小編一起來看看吧!

      為了鼓勵廣泛采用雙因子認證的方式,Google公司發布了Google Authenticator,一款開源的,可基于開放規則(如 HMAP/基于時間)生成一次性密碼的軟件。這是一款跨平臺軟件,可運行在Linux, Android, iOS。Google公司同時也支持插件式鑒別模塊PAM(pluggable authentication module),使其能和其他也適用PAM進行驗證的工具(如OpenSSH)協同工作。

      在本教程中,我們將敘述集成OpenSSH和Google提供的認證器實現如何為SSH服務設置雙因子認證。我將使用一款Android設備來生成一次性密碼,本教程中需要兩樣武器:(1)一臺運行著OpenSSH服務的Linux終端,(2)一臺安卓設備。

      在Linux系統中安裝Google Authenticator第一步需要在運行著OpenSSH服務的Linux主機上安裝Google認證器。按照如下步驟安裝Google認證器及其PAM模塊。

      用安裝包安裝 Google Authenticator如果你不想自己構建 Google Authenticator,在幾個 Linux 發行版上有已經編譯好的安裝包。安裝包里面包含 Google Authenticator 二進制程序和 PAM 模塊。

      在 Ubuntu 上安裝 Google Authenticator:

      $ sudo apt-get install libpam-google-authenticator

      在 Fedora 上安裝 Google Authenticator:

      $ sudo yum install google-authenticator

      在 CentOS 上安裝 Google Authenticator ,需要首先啟用 EPEL 軟件庫,然后運行如下命令:

      $ sudo yum install google-authenticator

      如果不想使用已經編譯好的安裝包,或者你的 Linux 發行版不在此列,可以自行編譯:

      在 Linux 上 Google Authenticator首先,安裝構建 Google Authenticator 所需的軟件包。

      在 Debian、 Ubuntu 或 Linux Mint 上:

      $ sudo apt-get install wget make gcc libpam0g-dev

      在 CentOS、 Fedora 或 RHEL上:

      $ sudo yum install wget make gcc pam-devel

      然后下載 Google Authenticator 的源代碼,并按如下命令編譯。

      $ wget

      $ tar xvfvj libpam-google-authenticator-1.0-source.tar.bz2

      $ cd libpam-google-authenticator-1.0

      $ make

      如果構建成功,你會在目錄中看到 pamgoogleauthenticator.so 和 google-authenticator 兩個文件。

      最后,將 Google Authenticator 安裝到合適位置

      $ sudo make install

      排錯當編譯 Google Authenticator 時出現如下錯誤:

      fatal error: security/pam_appl.h: No such file or directory

      要修復這個問題,請安裝如下依賴包。

      在 Debian、 Ubuntu 或 Linux Mint 上:

      $ sudo apt-get install libpam0g-dev

      在 CentOS、 Fedora 或 RHEL 上:

      $ sudo yum install pam-devel

      當Google認證器安裝好后,你需要在Linux主機上創建驗證密鑰,并且在安卓設備上注冊,注意這項配置操作是一次性的。我們將詳細敘述如何完成這些操作:

      生成驗證密鑰在Linux主機上運行Google認證器

      $ google-authenticator

      為SSH服務器用Google認證器最終我們需要修改兩個文件來完成集成Google認證器和OpenSSH服務這臨門一腳。

      首先,修改PAM配置文件,命令和需添加的內容如下:

      $ sudo vi /etc/pam.d/sshd

      auth required pam_google_authenticator.so

      然后打開SSH配置文件,找到參數ChallengeResponseAuthentication,并啟用它。

      $ sudo vi /etc/ssh/sshd_config

      ChallengeResponseAuthentication yes

      最后,重啟SSH服務。
     

      在 Ubuntu、 Debian 和 Linux Mint 上:

      $ sudo service ssh restart

      在Fedora (或 CentOS/RHEL 7)上:

      $ sudo systemctl restart sshd

      在CentOS 6.x或 RHEL 6.x上:

      $ sudo service sshd restart

      驗證雙因子認證在綁定的安卓設備上運行Google認證器,獲得一個一次性驗證碼,該驗證碼30秒內有效,一旦過期,將重新生成一個新的驗證碼。

    【Linux系統中的SSH如何添加雙重認證】相關文章:

    Linux認證系統管理:linux下搭建ftp10-08

    Linux認證基礎知識:linux操作系統目錄結構07-10

    Linux認證的概念09-09

    Linux認證概念10-29

    Linux認證優勢06-10

    Linux認證考點06-25

    Linux認證系統管理:認識與學習bash09-27

    Linux認證國際現狀09-04

    Linux認證賬戶映射01-23

    Linux認證國內現狀08-15

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      中文字幕在线精品乱码 | 亚洲4444在线观看 | 亚洲日韩精品中文字幕 | 亚洲日本va中文字幕亚洲 | 亚洲综合国产精品第一页 | 又粗又深又猛视频国产 |