有Google Authenticator桌面客户端吗?


123

我正在使用Google Authenticator进行两步验证。我喜欢如何使用代码并通过手机验证帐户:

在此处输入图片说明

我意识到该应用程序旨在在计算机以外的其他设备上运行,以提高计算机的安全性(以防丢失或被盗),但是我想知道是否可以通过某种方式在该计算机上运行Google Authenticator我的Macbook。

现在,每个Google Authenticator Page都不会在桌面上运行:

Google Authenticator可在哪些设备上使用?

  • Android 2.1或更高版本
  • BlackBerry OS 4.5-6.0
  • iPhone iOS 3.1.3或更高版本

但是,有几个针对开发人员的模拟器,因此我想知道是否可以运行其中一个模拟器,然后再运行其中的Google Authenticator。我确实意识到这不是最佳做法-但我不太担心笔记本电脑被盗,而更担心有人只是在破解该帐户。

所以我的问题是:即使不建议这样做也不建议在桌面上运行它吗?


不,如果您考虑一下,就可能失败。但是,如果您真的想击败该目标,本文将说明albertech.blogspot.com/2016/10/…–
jar

然而,作为一种替代模拟情况下GAuth你可以只使用oathplus - soundly.me/oathplus -它本质上是谷歌验证器命令行(我是DEV)。
jar

通过同样的逻辑,您是否应该避免访问所有在手机上启用2fa的网站(通常更可能被盗)...?
user1073075

Answers:


98

通过brew 安装oath-toolkit,使用以下命令生成密钥:

oathtool --totp -b <your_secret>

要获取秘密,请使用Google中的“更改电话”选项。您可以通过单击“手动输入密钥”链接来获取密钥。


太棒了!现在唯一的问题-当我没有笔记本电脑时无法登录。
杰森·库姆斯

10
将机密复制到一个相当安全的文件中:(umask 0077;pbpaste > ~/.totp_google)。编写shell函数以将TOTP放入剪贴板:totp() { oathtool --totp -b $(<~/".totp_${1:-google}") | pbcopy; }。为其他服务添加其他机密:(umask 0077;pbpaste > ~/.totp_github)。从函数中选择所需的令牌:totp github。利润!!!
kojiro

1
FWIW我写了一个外壳包装程序,它执行@kojiro的建议:github.com/poolpog/bash-otp
JDS

这是一个简短的Shell脚本,可读取Google Authenticator应用程序的数据库文件并为每个密钥生成实时代码,从而使您拥有足够的设备访问权限,可将文件复制到PC上。
Malvineous

1
@ JasonR.Coombs,您应该能够使用相同的密钥登录笔记本电脑和手机。现在就做,并且都生成相同的6位数密码。
John Lee

27

https://github.com/gbraad/html5-google-authenticator上有一个可自托管的Web应用程序。在 面向Internet的计算机上这不是安全的,但是您可以将其加载到完全脱机的计算机上,这样就很安全。


1
它看起来真的很好-只是让我感到紧张,我不容易理解使它起作用的所有方法:)
cwd13年

4
基本上,它使用浏览器内部的本地存储来存储密钥,只能从其写入的域中访问本地存储(如果我错了,请纠正我),然后使用当前时间和本地存储,以计算密钥应该是什么。仅仅是Javascript的好处
Jharwood

1
这是一个很棒的兄弟。现在,我不需要为此运行VirtualBox或Bluestacks。
manish_s 2014年

1
这太妙了。您可以使用rawgit到现在运行的应用程序使用固定的版本提交如果您有关于代码变异的担忧。
Jason R. Coombs

19

JAuth是一个很好的选择-基于Java(具有Windows,Linux和OS X安装程序),体积小巧且可移植。我将副本保存在USB驱动器上。


为了我的钱,这应该是公认的答案。JAuth很棒,并且有自己的安装程序。真的再简单不过了。
evadeflow 2014年

如果JAuth_KS文件泄漏,其他人可以为我的帐户生成一次密码吗?
萨奇布·阿里2016年

1
我发现UI令人困惑。对我而言,在Linux Mint(基于Ubuntu)上,按钮的宽度为3x3像素,很难单击,这是什么意思?以>按钮为例。+很难看到什么是按钮,什么是标题。—我希望他们根本没有构建任何GUI,而是通过Bash / Win CMD中的命令行构建所有内容。我想那也可以节省很多时间
KajMagnus

可以为多个帐户配置JAuth吗?
db

17

是。您可以使用WinAuth。对我来说很好。


开源+使用非常简单,甚至可以在Vista上使用(Authy不能使用)。
卡斯珀

15

尝试Authy:https ://www.authy.com/ 。

它适用于许多2fa帐户,包括Google。Authy支持多种平台,包括PC。

注意:Google似乎仅提供用于添加帐户的QR码。这意味着最简单的通过Authy Android应用添加您的Google帐户。但是,一旦执行此操作,也可以从PC Authy应用程序访问它。


1
迄今为止最好的解决方案。它也有一个Chrome扩展程序:)
Jacob Relkin

1
需要一个在线帐户。
pgampe

明确一点,这是一个网络应用程序吗?并且您必须将您的秘密上传给第三方?
jiggunjer

@jiggunjer好问题。从他们的网站“数据安全性加密您的2FA数据并备份到我们的云中,而无需与我们一起存储密码”。所以是,不是。您可以选择让他们保留您的秘密,但从理论上讲他们无法访问它们。如果我记得,可以根据需要跳过云备份功能。
dss539

这需要一个电话号码。
SuperSandro2000


10

如果您需要处理多个密钥,通行证或任何其他类型的信息,请忽略其他信息。如何使用它始终是一个问题。最简单的方法是使用密码管理工具(请不要将在线服务用于此类操作,LastPass也已被黑客入侵)。

这是我的建议(适用于Linux,Mac,Android),该建议适用于Windows用户:

  1. 下载最新的KeePass(当前为2.32)并设置您的数据库(例如,不仅仅需要通过验证,还需要通过证书来确保其安全性)
  2. 下载适用于KeePass的TrayTOTP插件,并将其复制到位于KeePass安装文件夹中的plugins文件夹中。
  3. 对于KeePass中的条目,请为您的keepass条目创建两个自定义字符串

    第一个字符串:TOTP种子
    第二个字符串:TOTP设置

    在“ TOTP种子”下,应放置种子密钥。对于设置,很多人感到困惑,尤其是新手。默认情况下(也是最常用的默认值),新密钥始终每30秒创建一次,长度为6个字符。这意味着,如果未明确设置,则TOTP设置应具有:

    30;6
    

    30:代表秒
    6:代表键的长度

    我知道只有几项服务可供您手动选择或设置,Kraken Exchange是其中之一,当您保护帐户安全时,您可以选择最多8个字符的长度,并且totp设置为 30;8

  4. 更改自动类型:),有两种类型的页面以及它们的验证方式。

    首先:您可以输入用户名,密码和2FA密钥。
    第二:您需要输入用户名和密码,按Enter / Submit后,第二页/框架会显示要求输入2FA。

    对于第一种情况,请通过更改自动键入选项来编辑您的KeePass条目。单击“覆盖默认序列”,它是:

    {USERNAME}{TAB}{PASSWORD}{ENTER}
    

    并添加按其他TAB键,然后放置TOTP键,然后按Enter:

    {USERNAME}{TAB}{PASSWORD}{TAB}{TOTP}{ENTER}
    

    对于第二种情况,我们需要发送用户并通过,然后等待1-3秒(我将在此处设置5秒),然后再按2FA键:

    {USERNAME}{TAB}{PASSWORD}{ENTER}{DELAY 5000}{TOTP}
    

而已。按CTRL + V或右键单击并执行自动键入,仅此而已。


1
KeePassXC是KeePass的另一个版本,该版本跨平台并支持2fa / OTP。效果很好。
jeffmcneill's


6

我与一个在Quicksilver中也可以使用的CLI一起整合了一个誓言工具包集成。CLI Bash脚本和.otpkeys配置文件示例可在Quicksilver和OTP:Together At Last博客文章中找到。

您将需要您的私钥,以便可以将其放入配置中。

Bash脚本:

#!/bin/bash
scriptname=`basename $0`
if [ -z $1 ]
then
    echo "$scriptname: Service Name Req'd"
    echo ""
    echo "Usage:"
    echo "   otp google"
    echo ""
    echo "Configuration: $HOME/.otpkeys"
    echo "Format: name=key"
    exit
fi
otpkey=` grep ^$1 $HOME/.otpkeys | cut -d"=" -f 2 | sed "s/ //g" `
if [ -z $otpkey ]
then
    echo "$scriptname: Bad Service Name"
    exit
fi
/usr/local/bin/oathtool --totp -b $otpkey

.otpkeys的配置文件示例-空格被去除。

google=a743 mike k3b4 rm5k z8a9 q6f5 id1k bxk1
facebook=OWBV Q9LF POQ2 MKYU
evernote=UKPPIDEALLKPYTT9
dropbox=iop4 xbox asia b0ss ninj a9

用法-从配置中指定完整或部分服务名称,并锚定在服务名称的开头。例如,“ goo”将适用于Google,但“ oogl”则无效。

iso : ~ --> otp google
196379
iso : ~ --> otp goo
612384


5

免责声明:我是作者:-)

https://qoomon.github.io/otp-authenticator-webapp/

它是Google Authenticator网络应用。

这是在github页面上托管的静态网站。您可以只使用我的版本,也可以分支gh-pages分支并托管在您自己的github页面上。

不使用外部服务,仅本地JavaScript执行

特征

  • 生成totp代码
  • 显示剩余的有效秒数
  • 解析“秘密”输入字段中的otpauth URL
  • 生成otpauth URL QR码
  • 接受请求参数
    • 秘密
    • 帐户
    • 发行人

这是一个例子





0

您可以使用我的脚本:otp.py

缺点是:

  1. 只有在第一个代码过期时,您才会看到正确的倒计时:)
  2. 此zenity弹出窗口不允许复制和粘贴(这是IMO的一个很大限制)
  3. 它可以在Mac上运行,但是Cocoa Dialog已停用,并且不再起作用。
  4. 通过在Windows上安装Zenity(可能的话),可以使其适合Windows上的工作。





-1

如果您为网站写下了种子,并且拥有Python(易于在Mac / Windows / linux上安装),则可以使用此命令行脚本,该脚本还会尝试隐藏种子以防止意外使用:twisted2sv


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.