配置Linux的SSH双重认证

  背景:双因子认证(简称:2FA,以下简称2FA),在这里其为SSH的第二重认证。2FA指的是密码以及实物(信用卡、SMS手机、令牌或指纹等生物标志)两种条件对用户进行认证的方法。通过两种不同的认证程序,可以降低密码泄露带来的风险,大大提高了linux系统的安全!

一、配置前准备

  1、 准备一台运行着的OpenSSH服务的linux终端。

  2、 安卓手机一台。

 

二、linux上安装Google身份验证器

  1、 ubuntu上安装Google身份认证器:

$ sudo apt-get install libpam-google-authenticator -y

  

  2、 CentOS上安装Google身份认证器

#安装EPEL软件库
$ sudo yum install epel-release -y

#安装google-authenticator
$ sudo yum install -y google-authenticator

  

  3、 linux主机上运行Google身份验证器

$ google-authenticator

 

 

 

  Google身份验证器会问一些问题,一直答 Y即可。图中的应急备用验证码(图中显示为: emergency scratch codes)可以在你丢失了绑定的安卓设备的情况下恢复访问。所以,一定要将应急备用验证码保存好!

 

三、为SSH服务器用Google身份验证器

  1、 修改PAM配置文件

$ sudo vim /etc/pam.d/sshd


# Disallow non-root logins when /etc/nologin exists.
account    required     pam_nologin.so

# 添加这一行
auth       required     pam_google_authenticator.so

  

  2、 在SSH配置文件里启用 ChallengeResponseAuthentication

$ sudo vim /etc/ssh/sshd_config


ChallengeResponseAuthentication      yes

  

  3、 重启SSH服务

$ sudo service ssh restart

  

四、在安卓设备上运行Google身份验证器

  1、 在安卓应用市场搜索并安装Google身份验证器。

 

 

  2、 在配置菜单输入刚刚的配置信息

 

 

  3、 添加完成后会得到6位数动态码

 

 

 

       到此,双因子认证配置完成!

 

 

配置参考链接:https://linux.cn/article-3725-1.html

posted @ 2017-08-31 17:56  jefflee168  阅读(2529)  评论(0编辑  收藏  举报