我管理具有双重身份验证的服务器。输入正常的服务器密码后,我必须使用Google Authenticator iPhone应用程序获取6位验证码才能输入。此处描述了设置:http ://www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html
我想要一种仅使用我的笔记本电脑而不是我的 iPhone 来获取验证码的方法。必须有一种方法可以为生成这些验证码并为您提供当前 30 秒窗口的代码的命令行应用程序提供种子。
有没有可以做到这一点的程序?
是的,
oathtool
可以做到这一点。您需要使用服务器中的共享密钥为其播种。您可以从
oath-toolkit
包中安装它。生成与 google 身份验证器和 authy 相同的代码的示例用法:
在https://github.com/pcarrier/gauth的 github 上也有一个 go 实现
这个使用配置文件
~/.config/gauth.csv
以以下格式存储令牌输出也相当友好:
有许多 3rd 方 Authenticator 实现。查看维基百科页面上的列表。例如,您可以使用onetimepass(用 Python 编写)来使用命令行。
据我所知,Google 只发布手机(iOS、Android)的 Authenticator 应用程序。
(这给像我这样偏执的人带来了问题,他们并不真正相信谷歌停止服务的历史,几乎没有注意到,他们更喜欢我们可以在里面看到的令牌生成器。)
您可以考虑其他替代方案,例如一次性密码键盘系统。
老实说,从您的笔记本电脑获取验证码会破坏两因素身份验证方面(任何捕获笔记本电脑的人现在都拥有代码生成器 - 这是 Authenticator 应该防止的一部分)。
你可以试试http://soundly.me/oathplus
这是我在 venerable 之上开发的一个工具
oathtool
,它可以让您读取 QR 码,并存储 OTP 帐户信息以供以后使用。您可以将其视为命令行的Google Authenticator,因为它可以下载和读取 QR 码,并使用otpauth://
URI。(仅 OSX 自动取款机。)如果您使用的是 python,则 pip 中提供了带有 CLI 前端的软件包。
这是一个 hacky 的:https ://github.com/bjurga/DeOtp
这是一个精简的 GoogleAuthenticator,带有一个不错的“Windows 集成”理念。git 项目非常新,显然需要改进外观,但到目前为止它运行良好。