歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何為Linux系統中的SSH添加雙重認證

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

日期:2017/2/28 14:28:34   编辑:Linux教程

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

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

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

通過配置SSH深刻理解Puppet的語法及工作機制 http://www.linuxidc.com/Linux/2013-07/87882.htm

Ubuntu下SSH安裝或設置 http://www.linuxidc.com/Linux/2013-07/87368.htm

SUSE啟用SSH和FTP http://www.linuxidc.com/Linux/2010-08/28286.htm

使用SSH客戶端登陸Linux之後出現亂碼的解決方案 http://www.linuxidc.com/Linux/2010-08/28141.htm

詳解Linux中SSH遠程訪問控制 http://www.linuxidc.com/Linux/2013-07/88048.htm

Linux 上SSH 服務的配置和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm

在Linux系統中安裝Google Authenticator

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

用安裝包安裝 Google Authenticator

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

在 Ubuntu 上安裝 Google Authenticator:

  1. $ sudo apt-get install libpam-google-authenticator

在 Fedora 上安裝 Google Authenticator:

  1. $ sudo yum install google-authenticator

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

  1. $ sudo yum install google-authenticator

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

在 Linux 上 Google Authenticator

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

在 Debian、 Ubuntu 或 Linux Mint 上:

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

在 CentOS、 Fedora 或 RHEL上:

  1. $ sudo yum install wget make gcc pam-devel

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

  1. $ wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
  2. $ tar xvfvj libpam-google-authenticator-1.0-source.tar.bz2
  3. $ cd libpam-google-authenticator-1.0
  4. $ make

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

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

  1. $ sudo make install

排錯

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

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

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

在 Debian、 Ubuntu 或 Linux Mint 上:

  1. $ sudo apt-get install libpam0g-dev

在 CentOS、 Fedora 或 RHEL 上:

  1. $ sudo yum install pam-devel

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

生成驗證密鑰

在Linux主機上運行Google認證器

  1. $ google-authenticator

你將看到一個QR碼,它使用如下圖形表示我們數字形態的密鑰。一會我們要用到它在安卓設備上完成配置。

Google認證器會問一些問題,如果你不確定,就回答"Yes"。這個應急備用驗證碼(圖中 emergency scratch codes)可以在你由於丟失了綁定的安卓設備的情況下(所以不能得到生成的一次性密碼)恢復訪問。最好將應急備用驗證碼妥善保存。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-08/105998p2.htm

Copyright © Linux教程網 All Rights Reserved