- 相關(guān)推薦
Linux系統(tǒng)中的SSH如何添加雙重認(rèn)證
近來(lái)很多知名企業(yè)都出現(xiàn)了密碼泄露,業(yè)內(nèi)對(duì)多重認(rèn)證的呼聲也越來(lái)越高。在這種多重認(rèn)證的系統(tǒng)中,用戶(hù)需要通過(guò)兩種不同的認(rèn)證程序:提供他們知道的信息(如 用戶(hù)名/密碼),再借助其他工具提供用戶(hù)所不知道的信息(如 用手機(jī)生成的一次性密碼)。這種組合方式常叫做雙因子認(rèn)證或者兩階段驗(yàn)證。
那么我們要如何為L(zhǎng)inux系統(tǒng)中的SSH添加雙重認(rèn)證,下面跟yjbys小編一起來(lái)看看吧!
為了鼓勵(lì)廣泛采用雙因子認(rèn)證的方式,Google公司發(fā)布了Google Authenticator,一款開(kāi)源的,可基于開(kāi)放規(guī)則(如 HMAP/基于時(shí)間)生成一次性密碼的軟件。這是一款跨平臺(tái)軟件,可運(yùn)行在Linux, Android, iOS。Google公司同時(shí)也支持插件式鑒別模塊PAM(pluggable authentication module),使其能和其他也適用PAM進(jìn)行驗(yàn)證的工具(如OpenSSH)協(xié)同工作。
在本教程中,我們將敘述集成OpenSSH和Google提供的認(rèn)證器實(shí)現(xiàn)如何為SSH服務(wù)設(shè)置雙因子認(rèn)證。我將使用一款A(yù)ndroid設(shè)備來(lái)生成一次性密碼,本教程中需要兩樣武器:(1)一臺(tái)運(yùn)行著OpenSSH服務(wù)的Linux終端,(2)一臺(tái)安卓設(shè)備。
在Linux系統(tǒng)中安裝Google Authenticator第一步需要在運(yùn)行著OpenSSH服務(wù)的Linux主機(jī)上安裝Google認(rèn)證器。按照如下步驟安裝Google認(rèn)證器及其PAM模塊。
用安裝包安裝 Google Authenticator如果你不想自己構(gòu)建 Google Authenticator,在幾個(gè) Linux 發(fā)行版上有已經(jīng)編譯好的安裝包。安裝包里面包含 Google Authenticator 二進(jìn)制程序和 PAM 模塊。
在 Ubuntu 上安裝 Google Authenticator:
$ sudo apt-get install libpam-google-authenticator
在 Fedora 上安裝 Google Authenticator:
$ sudo yum install google-authenticator
在 CentOS 上安裝 Google Authenticator ,需要首先啟用 EPEL 軟件庫(kù),然后運(yùn)行如下命令:
$ sudo yum install google-authenticator
如果不想使用已經(jīng)編譯好的安裝包,或者你的 Linux 發(fā)行版不在此列,可以自行編譯:
在 Linux 上 Google Authenticator首先,安裝構(gòu)建 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
如果構(gòu)建成功,你會(huì)在目錄中看到 pamgoogleauthenticator.so 和 google-authenticator 兩個(gè)文件。
最后,將 Google Authenticator 安裝到合適位置
$ sudo make install
排錯(cuò)當(dāng)編譯 Google Authenticator 時(shí)出現(xiàn)如下錯(cuò)誤:
fatal error: security/pam_appl.h: No such file or directory
要修復(fù)這個(gè)問(wèn)題,請(qǐng)安裝如下依賴(lài)包。
在 Debian、 Ubuntu 或 Linux Mint 上:
$ sudo apt-get install libpam0g-dev
在 CentOS、 Fedora 或 RHEL 上:
$ sudo yum install pam-devel
當(dāng)Google認(rèn)證器安裝好后,你需要在Linux主機(jī)上創(chuàng)建驗(yàn)證密鑰,并且在安卓設(shè)備上注冊(cè),注意這項(xiàng)配置操作是一次性的。我們將詳細(xì)敘述如何完成這些操作:
生成驗(yàn)證密鑰在Linux主機(jī)上運(yùn)行Google認(rèn)證器
$ google-authenticator
為SSH服務(wù)器用Google認(rèn)證器最終我們需要修改兩個(gè)文件來(lái)完成集成Google認(rèn)證器和OpenSSH服務(wù)這臨門(mén)一腳。
首先,修改PAM配置文件,命令和需添加的內(nèi)容如下:
$ sudo vi /etc/pam.d/sshd
auth required pam_google_authenticator.so
然后打開(kāi)SSH配置文件,找到參數(shù)ChallengeResponseAuthentication,并啟用它。
$ sudo vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
最后,重啟SSH服務(wù)。
在 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
驗(yàn)證雙因子認(rèn)證在綁定的安卓設(shè)備上運(yùn)行Google認(rèn)證器,獲得一個(gè)一次性驗(yàn)證碼,該驗(yàn)證碼30秒內(nèi)有效,一旦過(guò)期,將重新生成一個(gè)新的驗(yàn)證碼。
【Linux系統(tǒng)中的SSH如何添加雙重認(rèn)證】相關(guān)文章:
linux如何給文件或目錄添加apache權(quán)限04-02
linux認(rèn)證的面試題及答案04-02
Linux認(rèn)證考試基礎(chǔ)知識(shí)試題及答案12-14
Linux系統(tǒng)守護(hù)進(jìn)程的啟動(dòng)方法12-15
Linux系統(tǒng)安全的九個(gè)關(guān)鍵點(diǎn)11-07
烘焙常識(shí):面包中的那些添加劑04-14
思科路由器SSH配置案例04-06
oa系統(tǒng)是如何提升辦公效率09-22