自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何為L(zhǎng)inux系統(tǒng)中的SSH添加雙重認(rèn)證

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

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

為了鼓勵(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é)同工作。

[[119153]]

在本教程中,我們將敘述集成OpenSSH和Google提供的認(rèn)證器實(shí)現(xiàn)如何為SSH服務(wù)設(shè)置雙因子認(rèn)證。我將使用一款Android設(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:

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

在 Fedora 上安裝 Google Authenticator:

  1. $ sudo yum install google-authenticator

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

  1. $ sudo yum install google-authenticator

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

在 Linux 上 Google Authenticator

首先,安裝構(gòu)建 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

如果構(gòu)建成功,你會(huì)在目錄中看到 pamgoogleauthenticator.so 和 google-authenticator 兩個(gè)文件。

***,將 Google Authenticator 安裝到合適位置

  1. $ sudo make install

排錯(cuò)

當(dāng)編譯 Google Authenticator 時(shí)出現(xiàn)如下錯(cuò)誤:

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

要修復(fù)這個(gè)問(wèn)題,請(qǐng)安裝如下依賴包。

在 Debian、 Ubuntu 或 Linux Mint 上:

  1. $ sudo apt-get install libpam0g-dev

在 CentOS、 Fedora 或 RHEL 上:

  1. $ 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)證器

  1. $ google-authenticator

你將看到一個(gè)QR碼,它使用如下圖形表示我們數(shù)字形態(tài)的密鑰。一會(huì)我們要用到它在安卓設(shè)備上完成配置。

Google認(rèn)證器會(huì)問(wèn)一些問(wèn)題,如果你不確定,就回答"Yes"。這個(gè)應(yīng)急備用驗(yàn)證碼(圖中 emergency scratch codes)可以在你由于丟失了綁定的安卓設(shè)備的情況下(所以不能得到生成的一次性密碼)恢復(fù)訪問(wèn)。***將應(yīng)急備用驗(yàn)證碼妥善保存。

在安卓設(shè)備上運(yùn)行Google認(rèn)證器

我們需要在安卓設(shè)備上安裝Google Authenticator app才能完成雙因子認(rèn)證,到Google Play下載并安裝一個(gè)。在安卓設(shè)備上運(yùn)行Google認(rèn)證器,找到下圖所示中的配置菜單。

你可以選擇"Scan a barcode" 或者"Enter provided key"選項(xiàng)。"Scan a barcode"允許你掃描QR碼來(lái)完成密鑰的輸入,在此可能需要先安裝掃描軟件Barcode Scanner app。如果選擇"Enter provided key"選項(xiàng),你可以使用鍵盤輸入驗(yàn)證密鑰,如下圖所示:

無(wú)論采用上述兩種選項(xiàng)的任何方式,一旦成功,你將看到注冊(cè)成功提示和一次性密碼,如下圖所示:

為SSH服務(wù)器用Google認(rèn)證器

最終我們需要修改兩個(gè)文件來(lái)完成集成Google認(rèn)證器和OpenSSH服務(wù)這臨門一腳。

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

  1. $ sudo vi /etc/pam.d/sshd
  1. auth required pam_google_authenticator.so

然后打開(kāi)SSH配置文件,找到參數(shù)ChallengeResponseAuthentication,并啟用它。

  1. $ sudo vi /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

***,重啟SSH服務(wù)。

在 Ubuntu、 Debian 和 Linux Mint 上:

  1. $ sudo service ssh restart

在Fedora (或 CentOS/RHEL 7)上:

  1. $ sudo systemctl restart sshd

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

  1. $ 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)證碼。

現(xiàn)在和往常一樣,使用SSH登錄終端

  1. $ ssh user@ssh_server

當(dāng)提示你輸入驗(yàn)證碼的時(shí)候,輸入我們剛獲得的驗(yàn)證碼。驗(yàn)證成功后,再輸入SSH的登錄密碼。

雙因子認(rèn)證通過(guò)在用戶密碼前新增一層來(lái)有效的保護(hù)我們脆弱的用戶密碼。你可以使用Google認(rèn)證器來(lái)保護(hù)我們其他的密碼,如Google賬戶, WordPress.com, Dropbox.com, Outlook.com等等。是否使用這項(xiàng)技術(shù),取決于我們自己,但采用雙因子認(rèn)證已經(jīng)是行業(yè)的大趨勢(shì)了。

原文鏈接:http://linux.cn/article-3725-1.html

責(zé)任編輯:牛小雨 來(lái)源: linux中國(guó)
相關(guān)推薦

2018-10-08 09:35:59

2010-01-28 10:06:05

Linux系統(tǒng)調(diào)用

2024-08-12 16:28:37

LinuxSSH密鑰

2024-06-26 08:00:00

2019-05-14 11:00:07

LinuxSSH別名

2018-01-23 11:10:09

2015-07-07 10:12:52

數(shù)據(jù)中心閃存

2013-10-12 15:16:17

LinuxLinux serve服務(wù)器系統(tǒng)

2022-02-05 21:15:59

Node.jsrequire函數(shù)

2018-03-09 09:45:52

LinuxSSH登錄導(dǎo)語(yǔ)

2019-12-20 13:50:11

LinuxOpenbox

2015-09-16 17:30:20

安裝Go語(yǔ)言Linux

2020-04-24 06:26:09

LinuxPython應(yīng)用

2011-09-19 16:15:28

恢復(fù)證書Vista

2010-09-16 15:56:15

SQL Server表

2019-03-28 09:25:51

Linux磁盤命令

2018-11-26 10:40:28

Linux打印機(jī)命令

2010-06-21 13:36:24

2020-07-16 07:50:53

Nginx模塊動(dòng)態(tài)

2020-11-17 16:00:08

LinuxSSH
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)