Linux安全加固之:SSH开启双因子认证--基于TOTP方式

34 篇文章 0 订阅
31 篇文章 0 订阅

前言

  • 当下随着互联网技术的快速发展,网络安全问题愈加严重。在Linux系统中,SSH是一种广泛使用的远程登录工具,因此,保护SSH访问的安全性就变得尤为重要。
  • 在SSH中启用多因素身份验证是一种有效的方式来加强SSH访问的安全性。
  • 使用 google-authenticator-libpam 来为SSH启用多因素身份验证。它是基于TOTP算法的实现的一种工具。
  • TOTP算法(Time-based One-time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法。
  • TOTP是基于散列的消息认证码(HMAC)的示例。 它使用加密哈希函数将密钥与当前时间戳组合在一起以生成一次性密码。 由于网络延迟和不同步时钟可能导致密码接收者必须尝试一系列可能的时间来进行身份验证,因此时间戳通常以30秒的间隔增加,从而减少了潜在的搜索空间。

服务器安装google-authenticator-libpam

ubuntu以及其它debian系:
sudo apt install libpam-google-authenticator

centOS系:
嘻嘻嘻,自己查一下吧,笔者已经将近4-5年没用过了。

移动端(手机)安装支持TOTP的认证软件

一般有如下几款:
腾讯身份认证器:
https://sj.qq.com/appdetail/com.tencent.authenticator
谷歌身份认证器:
https://baike.baidu.com/item/Google%20Authenticator/58350750
微软身份认证器:
https://www.microsoft.com/zh-cn/security/mobile-authenticator-app
FreeOTP:
https://github.com/freeotp

笔者用的是腾讯身份认证器,如图(隐蔽了一些敏感信息):

在这里插入图片描述

修改pam配置

运行命令:
vim /etc/pam.d/sshd
在文件最后加入:
auth    required     pam_google_authenticator.so

修改ssh配置

运行命令:
vim /etc/ssh/sshd_config
将 ChallengeResponseAuthentication 的值改为 yes, 如果没有则添加此配置。
ChallengeResponseAuthentication yes

重启ssh服务:
sudo systemctl restart sshd.service

在每个需要SSH多因子认证的用户下运行:google-authenticator 来生成密钥和其它配置信息。

1:运行命令:

google-authenticator

在这里插入图片描述2:在移动端点击右上角加号,扫一扫扫码。扫码完成后出现一个新的“令牌”。如图:
在这里插入图片描述
3:此时会接着出来一些其它配置。一般来说无脑 y 就可以。大致如下
在这里插入图片描述

完成配置,尝试登录:

可以看到,我们除了输入密码外,还要输入一次性验证码。如下:

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值