配置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使用LDAP用户认证
配置Linux使用LDAP用户认证 本文首发:https://www.cnblogs.com/somata/p/LinuxLDAPUserAuthentication.html 我这里使用的是Cent ...
- Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...
- Linux之SSH密钥认证
1.SSH协议的认识 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前 ...
- Mac下配置远程Linux 服务器SSH密钥认证自动登录
1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...
- Jenkins进阶系列之——09配置Linux系统ssh免密码登陆
ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的 ...
- linux SecureCRT ssh key认证登陆
转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html 通过SecureCRT创建key登录认证 一.生成公钥/密钥对 使用SecureCR ...
- jenkins发布项目到远程主机上,配置linux使用SSH免密码登录
一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...
- centos7服务搭建常用服务配置之一:SSH
目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 s ...
- Linux远程ssh执行命令expect使用及几种方法
expect命令实现脚本免交互 一.Linux下SSH无密码认证远程执行命令 在客户端使用ssh-keygen生成密钥对,然后把公钥复制到服务端(authorized_keys). 实现步骤: 1.客 ...
随机推荐
- ubuntu1604-server上安装virtualbox+phpvirtualbox
1.需要安装phpvirtualbox版本与virtualbox的版本一致,比如phpvirtual5.0.x,需要对应virtualbox 5.0.x 2.需要安装的软件有apache2.php.l ...
- objective-c和java下解析对象类型和数组类型JSON字符串
首先讲objective-c如何实现: 这里需要用到2个插件,一个是JSONKit,另一个是Jastor,一共包含6个文件,3个.h头文件和3个.m实现文件.在ARC的工程中如何导入不支持ARC的第三 ...
- Django和pymysql搭建学员管理系统
学员管理系统 项目规划阶段 项目背景 近年来老男孩教育的入学学员数量稳步快速增长,传统的excel统计管理学员信息的方式已经无法满足日渐增长的业务需求.因此公司急需一套方便易用的“学员管理系统”,来提 ...
- matlab批量转化img到gray
path = 'D:\宝贝儿数据集\COIL-3D\coil-100\'; save_path = 'D:\宝贝儿数据集\COIL-3D\coil-100-gray\'; file=dir([path ...
- git clone all branch and create a empty branch
/******************************************************************** * git clone all branch and cre ...
- RabbitMQ学习系列三-C#代码接收处理消息
RabbitMQ学习系列三:.net 环境下 C#代码订阅 RabbitMQ 消息并处理 http://www.80iter.com/blog/1438251320680361 http://www. ...
- 接口测试基础——第一篇smtplib发送文字邮件
现在我们就开始进入接口测试框架的知识准备阶段,今天是第一篇,很简单的,就是发送纯文字的电子邮件,会的童鞋可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~ # coding: utf-8 impor ...
- SpringMVC集成rabbitMQ
Maven引入相关jar <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-c ...
- 浅谈FPGA的选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...
- FTP for win7
In Windows 7, you can share files on home network easily using Home Group but creating an FTP server ...