配置Linux的SSH双重认证

Posted jeff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置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

以上是关于配置Linux的SSH双重认证的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 中配置基于密钥认证的 SSH

Linux为 SSH 服务器配置密钥认证登录

LINUX SSH 密钥认证登陆配置

Mac下配置远程Linux 服务器SSH密钥认证自动登录

通过SSH,使用Public-Key Infrastructure (PKI)认证,怎么配置登陆Linux服务器

kali与SUSE Linux 配置SSH认证失败次数和锁定时间