一、安装依赖包

软件包可以在这个地址下载:https://pan.baidu.com/s/1r0CmwbtCfNiBqU9rh_TxtA

yum -y install pam-devel
tar jxf libpam-google-authenticator-1.0-source.tar.bz2
cd libpam-google-authenticator-1.0
make && make install

[root@chunkserver1 ~]# google-authenticatorDo 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@chunkserver1%3Fsecret%3D4WPHQZ546UTLMBYP
Your new secret key is: 4WPHQZ546UTLMBYP
Your verification code is 856950
Your emergency scratch codes are:
37193134
39632359
18788141
32566498
89776977
#五个码用于在取不到或错的验证码有错时,用于应急用的。不过每个只能用一次,不能重复使用。
Do you want me to update your "/root/.google_authenticator" file (y/n) yDo 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) yBy default, tokens are good for 30 seconds and 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 1:30min to about 4min. Do you want to do so (y/n) n
#选择是否开启时间容错。如果客户端设备具有很好的同时间服务器同步功能,建议此处选择n。如果客户端设备(手机、ipad等)不具有很好的同ntp时间同步的功能,可以设为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

 

二、编辑文件cat /etc/pam.d/sshd 在第一行添加

auth required pam_google_authenticator.so

编辑/etc/ssh/sshd_config 文件

ChallengeResponseAuthentication no
把上面配置改成
ChallengeResponseAuthentication yes

service sshd restart重启ssh服务生效。

三、客户端安卓手机下载身份验证器工具,打开软件,手动输入账户(账户名称随便写) 密钥输入上面运行google-authenticator 生成 的此密钥4WPHQZ546UTLMBYP

四、测试:打开xshell连接,在弹出的输入密码界面选择使用键盘输入用户身份验证,然后输入手机上身份验证器生成的每60秒换一个的密钥

五、注意:服务器上要关闭selinux,否则会登录不了

1、如果命使用SecureCRT客户端登录时,需要在 连接——属性——连接——ssh2——"鉴权/authenicaion" 中将 "键盘交互/keyboard Interactive" 调到第一位。不然连接会出错。

2、以上安全配置对于ssh密钥认证方式进行的登录无效——即在pam配置中增加上面的配置后,通过密钥认证时不会要求输入验证码 。

转载于:https://www.cnblogs.com/shansongxian/p/9759475.html

Google Authenticator加强ssh安全相关推荐

  1. Linux下使用Google Authenticator配置SSH登录动态验证码

    说明: 1.一般ssh登录服务器,只需要输入账号和密码. 2.本教程的目的:在账号和密码之间再增加一个 验证码,只有输入正确的验证码之后,再输入 密码才能登录.这样就增强了ssh登录的安全性. 3.账 ...

  2. 【Linux】使用Google Authenticator 实现ssh登录双因素认证

    一般来说,使用ssh远程登录服务器,只需要输入账号和密码,显然这种方式不是很安全.为了安全着想,可以使用GoogleAuthenticator(谷歌身份验证器),以便在账号和密码之间再增加一个验证码, ...

  3. Centos7机器配置Google Authenticator动态密钥进行ssh二次验证图文详解

    就跟银行账户登录需要手机短信或者令牌进行二次验证一样,给企业的业务电脑配置远程ssh登录的二次验证也是一个非常必要的安全措施,这样即使坏人知道了访问密码也无法登录机器.这篇文章就记录下今天我给一台机器 ...

  4. Google Authenticator SSH双重验证技术

        Technology - Site OPS Google Authenticator SSH双重验证技术 管理手册 目  录 第1章引言... 1 1.1 目的... 1 1.2 说明... ...

  5. SSH 登录添加 Google Authenticator 两步验证 双因子认证

    SSH 登录添加 Google Authenticator 两步验证 双因子认证 安装 Google Authenticator # 时间与客户端进行校验,确保服务器时间与手机时间一致,避免时差导致严 ...

  6. Linux 之 利用Google Authenticator实现用户双因素认证

    一.介绍:什么是双因素认证 双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产 ...

  7. google authenticator python_谷歌验证器(Google Authenticator)

    双因素身份认证就是经过你所知道再加上你所能拥有的这二个要素组合到一块儿才能发挥做用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一次性密码来代替传统的 ...

  8. 群晖服务器共享文件忘记密码,群晖synology NAS ds 1815+忘记google authenticator二次验证密码...

    群晖synology NAS为了登录安全起见,设置了google的二次验证,当换手机或者刷机前没有解除二次验证时,就悲剧了,输入帐号密码后,就要输入6位google的二次验证吗,群晖登录不了,让你联系 ...

  9. 43.10. Google Authenticator - Android Apps on Google Play

    #### ssh 二次认证 1) 安装依赖环境 yum install gcc wget pam-devel libpng-devel libtool 2) 安装二维码工具 yum install - ...

最新文章

  1. component-scan和annotation-driven
  2. 深度解读 OpenYurt :边缘自治能力设计解析
  3. mysql 控制台全是_Mysql控制台命令大全
  4. 一场虚拟的鄂尔多斯婚礼 (图)
  5. oracle 附加日志 挂起,Oracle 附加日志(supplemental log)
  6. matlab如何找出最小的数据,读取数据并找出全部数据的最大值和最小值
  7. ViTAEv2世界第一:6亿参数模型,ImageNet Real 91.2%最高准确率,更大模型、更多任务、更高效率...
  8. jquery的mCustomScrollbar滚动条创建在ie8下报frameElement的相关错
  9. 2017 Multi-University Training Contest - Team 3:1004. Kanade's trio(01字典树)
  10. 一个女SEOer的忏悔书
  11. php更改二维数组的键,学习猿地-php如何修改二维数组的键名
  12. (原)U盘可见容量不能被识别的处理方法
  13. Java 后端彻底解决跨域问题(CORS)
  14. 梅特勒托利多xk3124电子秤说明书_梅特勒托利多电子秤校正标定方法
  15. centos 6.5安装杀毒软件clamav
  16. html5如何引用百度地图api,WebApp如何调用百度地图API
  17. 为NanoPi M2 自制Debian镜像
  18. 巨头再度加码区块链,蚂蚁金服发布区块链合作伙伴计划
  19. 表情包,头像,壁纸小程序达人入驻教程
  20. 一维,二维条形码/条码的编码规则

热门文章

  1. k8s从入门到放弃--使用kubeadm快速安装kubernetes
  2. Android项目实战(三十六):给背景加上阴影效果
  3. 03. Java NIO Channel 通道
  4. 从武侠门派的角度去解释域、域树、林的含义(下)
  5. centos java 乱码_CentOS 7.4 java验证码乱码的问题
  6. MQTT基本应用(Mosquitto+Eclipse Paho)
  7. Mybatis foreach遍历
  8. 开源阅读_开源如何维持您的阅读习惯
  9. (65)Vue-cli介绍
  10. 学习 | egg.js 从入门到精通