linux服务器ssh远程添加Authentication双重认证
linux
服务器添加google(Two-Factor Authentication,2FA)
多因子登录认证
参考
- ubuntu设置参考
- centos设置参考(主要参考)
一. 部署
1.
安装软件
centos
安装软件
1 | # 首先我们需要启用epel仓库 |
ubuntu
安装软件
1 | # 安装软件 |
2.
初始化(centos
与ubuntu
相同)
第一种方式 (本次使用第一种方式)使用下面命令运行Google Authenticator
设置程序
参数
- -t : 使用 TOTP 验证
- -f : 将配置保存到
~/.google_authenticator
- -d : 不允许重复使用以前使用的令牌
- -w 3 : 允许的令牌的窗口大小。 默认情况下,令牌每 30 秒过期一次。 窗口大小 3 允许在当前令牌之前和之后使用令牌进行身份验证以进行时钟偏移。
- -e 10 : 生成 10 个紧急备用代码
- -r 3 -R 30 : 限速,每 30 秒允许 3 次登录 更多帮助信息可以使用
--help
选项查看。
程序运行后,将会更新配置文件,并且显示下面信息
- 二维码,您可以使用大多数身份验证器应用程序扫描此代码。
- 一个秘密的钥匙,如果您无法扫描二维码,请在您的应用中输入此密钥。
- 初始验证码,该验证码将在30秒后失效。
- 10 个一次性使用紧急代码的列表。
1 | # 设置Google Authenticator |
第二种方式(可选)
1 | # 安装完成之后进行初始化配置 |
3.
配置ssh
及重启ssh
服务
配置
1 | # 配置sshd |
重启
1 | # 重启ssh服务 |
二. 验证
手机安装google authenticator
手机扫描上方二维码进行添加验证码
另一终端进行远程该主机(我使用的是本机Windows11)
三. 扩展
恢复策略一 (未测试)
从二次验证锁定中恢复 二(未测试)
1、紧急备份
如果您无法访问身份验证器应用程序,请使用您的紧急备用代码之一。 该代码仅供一次性使用。
2、禁用特定用户的二步验证
修改 /etc/ssh/sshd_config
文件,找到下面的选项:
1 | AuthenticationMethods publickey,keyboard-interactive |
移除 keyboard-interactive
:
1 | AuthenticationMethods publickey |
之后保存文件,并且重启 SSH:
1 | sudo systemctl restart ssh |
fighting!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZzNnWn!
评论