GitHub:https://github.com/google/google-authenticator-android
在信息时代,服务器安全愈发成为首要任务。Linux 主机通过 ssh 方式连接,当存在弱密码的情况下,通过暴力破解的方式会很容易就被攻破了,本文将向你展示如何通过 Google Authenticator 这一强大的双因素认证工具,当你 SSH 登录主机输入用户密码后,还需要通过手机客户端输入 Google 动态验证码才能正常登录,通过真实案例教你配置。赶快转发给你的小伙伴用起来~
:::
- 同步 Linux 服务器时钟
同步 linux 时钟,默认动态验证码在 30 秒内有效,由于客户端和服务器可能会存在时间差,建议先同步时钟,防止和手机时间存在时间差导致无法登录
ntpdate pool.ntp.org
- Linux 主机安装 Google Authenticator
本文使用 CentOS7 系统实验,在终端执行以下命令,为你的 Linux 系统安装 Google Authenticator 插件
yum install epel-release -y
yum install google-authenticator -y
- 修改 SSH 配置
编辑 SSH 配置文件
vi /etc/ssh/sshd_config
确保以下行被设置为 yes
ChallengeResponseAuthentication yes
UsePAM yes
保存并退出
- Google Authenticator 初始化
执行以下命令初始配置,为指定用户启动 Google Authenticator 的配置
google-authenticator
根据提示回答问题,最终将生成一个二维码和一组备用验证码
:::info
访问上面生成的 URL(需要科学上网)
然后使用 **Google 身份验证 **扫码添加
:::
Google 身份验证 APP:
在手机应用市场搜索:身份验证器 或 Authenticator 并安装 APP 或者 也可以使用 微信小程序 MinaOTP
- 调整 PAM 模块
编辑 PAM 配置文件
引入 Google Authenticator 模块 vi 编辑 /etc/pam.d/sshd 配置,
在文件末尾添加以下行
vim /etc/pam.d/sshd
auth required pam_google_authenticator.so
保存并退出
- 重启 SSH 服务
为了让新配置生效,别忘了重新启动 SSH 服务
systemctl restart sshd
- 安装 Google 身份验证
应用商店下载并安装 Google Authenticator 或类似的身份验证应用,
然后配置 Authenticator App,打开应用,选择添加新的身份验证令牌。
使用步骤 4 生成的二维码扫描或手动输入密钥
添加成功后,此验证码会动态刷新
- 登录验证
通过以上的步骤,你已成功为 Linux SSH 添加了 Google Authenticator 双因素认证。
后续除了输入用户密码外,还需要输入动态码进行验证 SSH 登录验证
终端登录
[root@blog .ssh] ssh root@x.x.x.x
Password:
Verification code:
Last login: Tue Dec 5 23:33:20 2023 from 113.57.110.120
通过上面可以看到无论是使用终端工具还是命令行,都加上了动态码
赶快将你的 Linux 安排上,让主机安全无懈可击!