配置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

时间: 2024-10-18 07:57:49

配置Linux的SSH双重认证的相关文章

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

1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your [email protected]' -t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱 2. 将公钥复制到ssh服务器 将前一步骤生成的公钥~/id_rsa.pub文件,复制到ssh服务器对应用户下的~/.ssh/authorized_keys文件,可以有多种方式,这里只介绍常用的三种. [适用于osx系统]使用ssh-c

在debian上安装google-authenticator(ssh双重认证)

一.基础环境 1.版本 uname -v Debian 3.2.54-2 2.相关ip 10.131.172.202 二.安装google-authenticator 1.下载google-authenticator wget https://github.com/google/google-authenticator/archive/master.zip 2.解压 unzip master.zip 3.编译 cd /root/google-authenticator-master/libpam

配置Linux主机SSH无密码访问

通过证书签名达到Linux主机SSH无密码访问,使用ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生成一对密钥,使用ssh-copy-id来下发生成的公钥.具体操作如下: 在主机A(192.168.0.100)创建密钥,执行: ssh-keygen -t rsa ,有询问直接按回车键即可,将在/root/.ssh/下生成一对密钥,其中id_rsz为私钥,id_rsa.pub为公钥(需要下发到B主机用户.ssh目录,同时要求重名成authori

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

1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your [email protected]' -t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱 2. 将公钥复制到ssh服务器 将前一步骤生成的公钥~/id_rsa.pub文件,复制到ssh服务器对应用户下的~/.ssh/authorized_keys文件,可以有多种方式,这里只介绍常用的三种. [适用于osx系统]使用ssh-c

Jenkins进阶系列之——09配置Linux系统ssh免密码登陆

ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的key,从而达到免密码登陆的目的. 不知道ssh是什么的自己看说明.好了,不废话了. 系统:CentOS 5.8 确认用户 确认当前用户是你需要的用户! $ whoami froad #froad用户,根据你自己的需求选择用户.我这儿用froad用户演示. 生成key $ cd ~ #回到用户目录,

Linux SecureCRT ssh key认证登录

通过SecureCRT创建key登录认证 一.生成公钥/私钥 使用SecureCRT的工具->创建公钥,加密算法选择RSA,因为sshd配置文件中选择了RSA算法. 通行短语可以不输入.但要求输入,登陆的时候会要求你输入通行短语. 并修改Comment 相关信息,采用个人账户名称@服务器信息方式 填写密钥长度,默认是1024 这里选择生成的密钥使用 OpenSSH Key 格式.如果选择默认的格式,上传到服务器的时候需要执行格式转换的工作,需要通过命令行来连接的也需要通过securecrt来转换

配置Linux系统ssh免密登录

因为要配置Hadoop集群服务,折腾了好久的ssh免密登录,简直要把人整疯了,在网上看了好多分享,都没搞定,最后看到一篇类似的,加上自己瞎蒙,终于成了,而且是超级简单,现在吐血总结一下. 我的是CentOS8虚拟机,干货来了. 第一步:vim /etc/ssh/sshd_config,将PubkeyAuthentication yes的注释去掉 第二步:systemctl status sshd.service,重启ssh服务 第三步:systemctl enable sshd.service,

Linux 上SSH 服务的配置和管理

基本上Linux的网络服务器在远程操作大多时候都是使用SSH来配置.管理服务器.现在我们就来分享一下简单配置Linux的SSH服务. 1.检查一下默认安装的系统是否安装了SSH服务: chkconfig  --list | grep sshd 2.首先要备份配置文件,任何时候我们需要修改配置文件的时候都建议先把原始文件备份 cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 3.下面我们就来修改SSHD_config配置文件,需要修改两个地方,

centos7服务搭建常用服务配置之一:SSH

目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 ssh知识要点 2.ssh服务软件详细说明 2.1 ssh服务软件安装 2.2 openssh-clients软件的主要内容 2.3 openssh-server软件的主要内容 2.4 启动sshd服务 2.5 ssh服务配置文件说明 2.5.1 ssh服务的配置文件路径 2.5.3 配置文件语法检查