Ansible 安全 之【ssh登錄二次驗(yàn)證】

本次二次認(rèn)證方式使用 Google 身份驗(yàn)證器

資源

谷歌身份驗(yàn)證器pam
https://github.com/google/google-authenticator-libpam

移動(dòng)app源碼
https://github.com/google/google-authenticator

Google 身份驗(yàn)證器商店地址
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

Google 身份驗(yàn)證器app下載地址
https://storage.evozi.com/apk/dl/16/09/05/com.google.android.apps.authenticator2.apk?h=4FgH1NXU1UokEVwXN5sVBw&t=1499507124

服務(wù)器配置

同步時(shí)間

/usr/sbin/ntpdate asia.pool.ntp.org >>/var/log/ntpdate.log

安裝依賴包

yum install pam-devel make gcc-c++ wget -y

下載谷歌身份驗(yàn)證器包

wget https://github.com/google/google-authenticator-libpam/archive/1.03.tar.gz

編譯安裝

tar zxf 1.03.tar.gz 
cd google-authenticator-libpam-1.03/
./bootstrap.sh
./configure 
make 
make install

復(fù)制google 身份驗(yàn)證器pam模塊到系統(tǒng)下

cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security/

修改ssh的pam登錄模塊為pam_google_authenticator.so

# cat /etc/pam.d/sshd 
#%PAM-1.0
#auth      required pam_sepermit.so
auth       required pam_google_authenticator.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

修改ChallengeResponseAuthentication 為yes

sed -i 's#^ChallengeResponseAuthentication no#ChallengeResponseAuthentication yes#' /etc/ssh/sshd_config

生成key埠对,手機(jī)app上添加賬戶所需要的凛虽。

./google-authenticator 

Do you want authentication tokens to be time-based (y/n) y
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@node1%3Fsecret%3D6GY7RPMXCVWN6HHVSSX4XM3WWssuer%3Dnode1          ## 二維碼
Your new secret key is: 6GY7RPMXCVWN6HHVSSX4XM3WWI    ## 密鑰
Your verification code is 467014
Your emergency scratch codes are:    ##后備驗(yàn)證碼保存好宝泵,永久可用歼郭。
  66339556
  56534014
  64738014
  23546970
  43468735

Do you want me to update your "/root/.google_authenticator" file? (y/n) y  ## 配置文件

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds. In order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with
poor time synchronization, you can increase the window from its default
size of +-1min (window size of 3) to about +-4min (window size of
17 acceptable tokens).
Do you want to do so? (y/n) y 

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

重啟ssh服務(wù)

service sshd restart

重啟后,不要關(guān)閉當(dāng)前窗口浇揩,以免配置錯(cuò)誤出現(xiàn)登錄不了服務(wù)器始藕。

手機(jī)端配置

本次使用安卓手機(jī),下載app并安裝熄诡。蘋果手機(jī)在蘋果商店里搜索google authenticator并安裝可很。

添加帳號(hào)

image.png
image.png

輸入剛才生成的key

image.png

點(diǎn)擊添加

image.png

這時(shí),點(diǎn)擊完成后凰浮,可以看到?jīng)]美30秒一次變換的驗(yàn)證碼

image.png

ssh命令登錄

[root@master ~]# ssh 192.168.77.129
Verification code:                                   # 先輸入app上的驗(yàn)證碼
Password:                                                # 在輸入root密碼
Last login: Sat Jul  8 15:55:59 2017 from 192.168.77.1
[root@node1 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7D:D4:7A  
          inet addr:192.168.77.129  Bcast:192.168.77.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7d:d47a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:275309 errors:0 dropped:0 overruns:0 frame:0
          TX packets:165531 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:298600746 (284.7 MiB)  TX bytes:24281004 (23.1 MiB)

xshell客戶端登錄

設(shè)置登陸方法為Keyboard Interactive

image.png

先輸入谷歌驗(yàn)證碼

!](http://upload-images.jianshu.io/upload_images/3629406-fa7479e63a30209c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在輸入root密碼

image.png

成功登錄

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末我抠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子袜茧,更是在濱河造成了極大的恐慌菜拓,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笛厦,死亡現(xiàn)場(chǎng)離奇詭異纳鼎,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)裳凸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門贱鄙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人姨谷,你說(shuō)我怎么就攤上這事逗宁。” “怎么了梦湘?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵瞎颗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我捌议,道長(zhǎng)哼拔,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任瓣颅,我火速辦了婚禮倦逐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宫补。我一直安慰自己檬姥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布守谓。 她就那樣靜靜地躺著穿铆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪斋荞。 梳的紋絲不亂的頭發(fā)上荞雏,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼凤优。 笑死悦陋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筑辨。 我是一名探鬼主播俺驶,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棍辕!你這毒婦竟也來(lái)了暮现?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤楚昭,失蹤者是張志新(化名)和其女友劉穎栖袋,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抚太,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塘幅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尿贫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片电媳。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖庆亡,靈堂內(nèi)的尸體忽然破棺而出匾乓,到底是詐尸還是另有隱情,我是刑警寧澤身冀,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布钝尸,位于F島的核電站括享,受9級(jí)特大地震影響搂根,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铃辖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一剩愧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娇斩,春花似錦仁卷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至歉嗓,卻和暖如春丰介,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工哮幢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留带膀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓橙垢,卻偏偏與公主長(zhǎng)得像垛叨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柜某,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,304評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理嗽元,服務(wù)發(fā)現(xiàn),斷路器喂击,智...
    卡卡羅2017閱讀 134,707評(píng)論 18 139
  • 在漫漫歷史長(zhǎng)河中还棱,足球給我們帶來(lái)了太多的快樂(lè)與喜悅,但同樣也給我們帶來(lái)了一些痛苦和難忘的回憶惭等。北京時(shí)間11...
    伊菡聊球閱讀 338評(píng)論 0 1
  • 前天辞做,我剛從考場(chǎng)出來(lái)就收到了我閨蜜發(fā)來(lái)的微信琳要,她說(shuō):她的男朋友在未來(lái)的計(jì)劃的沒(méi)有她,而且他說(shuō)家人最重要秤茅,他的未來(lái)也...
    歐陽(yáng)雨軒閱讀 318評(píng)論 0 2
  • c與php閱讀 121評(píng)論 0 0