• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gdb
V2EX  ›  程序员

请问 github 的两步验证(two-factor authentication)大家是怎么做的?

  •  
  •   gdb · Aug 23, 2023 · 16533 views
    This topic created in 1024 days ago, the information mentioned may be changed or developed.

    最近收到 github 发来的邮件,要求账户进行两步验证,如果不进行两步验证,那么 45 天之后好像访问受限制了。

    我登陆看了一下,可以使用 SMS authentication ,但是进去看了一下,里面没有中国大陆的手机可以选择,压根里面就没有 China 的选项,所以用不了。

    另外一种选项是:Setup authenticator app ,提示的方法是:Use an authenticator app or browser extension to scan 。 但是我用手机的 Firefox 浏览器的扫码功能试验了一下,无法扫码这个二维码。

    请问大家是如何进行两步验证的?

    谢谢!

    134 replies    2024-08-16 15:20:13 +08:00
    1  2  
    jqtmviyu
        101
    jqtmviyu  
       Aug 23, 2023
    Keepass, 支持 web, ios, macos, windows, android.
    SekiBetu
        102
    SekiBetu  
       Aug 23, 2023
    我把那个设置用的代码存到 bitwarden 了,变相云同步了一个 2FA
    anpho
        103
    anpho  
       Aug 23, 2023
    yubikey !
    skiy
        104
    skiy  
       Aug 23, 2023
    用 authy 。

    另外,可以用纸张把 totp 那串 secret 记下来,也就没多大影响了,APP 没了也无所谓了。
    zbowen66
        105
    zbowen66  
       Aug 23, 2023
    @shinsekai #2 这俩都不能在 Apple Watch 上看。
    zbowen66
        106
    zbowen66  
       Aug 23, 2023
    @shinsekai #2 这俩真不如 2fas (也不支持 apple watch ,但画饼很久了)
    paynezhuang
        107
    paynezhuang  
       Aug 23, 2023
    @stevenshum #38 没有啊,在商店里,有更新随时更新啊。
    zsdroid
        108
    zsdroid  
       Aug 23, 2023
    用 google authenticator 注意备份,一旦你卸载了,就完了
    virtualworld
        109
    virtualworld  
       Aug 23, 2023
    @shinsekai 谢谢,第一次知道 iOS 还自带这功能
    epis2048
        110
    epis2048  
       Aug 23, 2023
    @Yadomin #91 谢谢提醒 我还开了微软的 auth 并备份了恢复码,不过平常感觉用这个方便。点一下 输个 pin 码就 ok 了
    hellsakura
        111
    hellsakura  
       Aug 23, 2023
    @zjuster #87 google 的也已经支持云备份了,不过我个人习惯导入之后手动导出一份到本地保存,防止云备份出问题
    sonnyclarity492
        112
    sonnyclarity492  
       Aug 23, 2023
    @shinsekai #2

    涨知识了,才知道 iOS 本身就有这功能,

    可惜已经把所有密码都搬到 Bitwarden 上去了
    yungo8
        113
    yungo8  
       Aug 23, 2023 via Android
    我用 freeOTP 的,不能导出,哭晕在厕所
    SimonOne
        114
    SimonOne  
       Aug 23, 2023
    二维码本身是个 uri ,你把那个二维码或者 uri 保存下来,可以在无数个设备无数个 totp 软件里加入。
    其实就是服务器上和你自己两头都有,根据时间戳定时变化的动态码,你登录输入的和服务器上的对上了不就验证通过了。
    所以那个二维码第一次扫描服务端会让你输入一次动态码,如果能对上,说明你操作 ok 了,它就绑定上了。(所以你第一条呀更没用,是个废弃的)
    Laysan
        115
    Laysan  
       Aug 23, 2023
    1Password
    westerndream
        116
    westerndream  
       Aug 24, 2023
    +86 手机搜下,有方法打开隐藏菜单的
    嫌麻烦有浏览器插件的,web2FA ,虽然这样安全性应该比较低
    TaurusXin
        117
    TaurusXin  
       Aug 24, 2023
    Yubikey + GitHub Mobile
    lee88688
        118
    lee88688  
       Aug 24, 2023 via Android
    microsoft authenticator 好处是不需要翻墙就可以直接连接,网络连接上更保险
    gdb
        119
    gdb  
    OP
       Aug 24, 2023
    @westerndream 我在 github 的页面上面,打开了隐藏的菜单,使用的是之前 csdn 的方法,也就是在 console (我是 firefox ,按 F12 后,会打开一个网页调试工具页面)里面运行一个脚本:var option = new Option("China +86","+86");
    option.selected = true;
    document.getElementById('countrycode').options.add(option, 0);

    但是我发现,我根本收不到短信,github 上面会有一个英文提示:

    We tried delivering an SMS to that number, but the number doesn't seem to be valid.

    我在我的手机号码前加了 0 ,或者没有加 0 ,都是同样的错误,所以 SMS 的验证方式似乎是不能用的。
    gdb
        120
    gdb  
    OP
       Aug 24, 2023
    @lee88688 google 的 authenticator 需要翻墙么?我感觉也不需要啊。这种是不是都是离线模式的啊?
    key0323
        121
    key0323  
       Aug 24, 2023
    @wildman9527 有什么问题吗?博客也有鄙视链不成
    gdb
        122
    gdb  
    OP
       Aug 24, 2023
    @skiy 你好,请问你说的 totp 的那串 secret 字符串是哪里可以获取到?我不是很看得懂。是不是在 github 上面显示二维码的时候,就能看到这串 secret 的字符串?不过我已经设置了用 google 的 authentication 的 app 了,还能改么?或者说用很多个 app 都支持这个功能?
    skiy
        123
    skiy  
       Aug 24, 2023
    @gdb 你保存它给出来的二维码图片就好了。那字符串不过也就是二维码提取出来的,现在随便一台手机都能读取二维码信息了。再不挤就用个微信扫一下,然后复制下扫出来的链接或者分享给文件助手。
    lmone111
        124
    lmone111  
       Aug 24, 2023
    gdb
        125
    gdb  
    OP
       Aug 24, 2023
    @skiy 好的,明白,我大概知道你的意思了。但是我已经设置在 google authenticator 了,我如果要重新搞这个二次验证,是否需要重新清除所有的验证信息,全部重新来一遍?

    @SimonOne 多谢你前面的回复,我大概理解了,看起来我的手机里面的 google 的 authenticator 的 app 里面的第一栏的动态码应该已经废了,没啥用了。因为能用的只有第二栏的信息。
    gdb
        126
    gdb  
    OP
       Aug 24, 2023
    @lmone111 谢谢,不过我有个问题,就是这个密钥直接往网上的网址里面写,会不会带来一些安全性方面的问题,能不能比如在本地运行一个 html 的网页,直接让本地的浏览器打开这个网页,然后都在本地操作?
    gdb
        127
    gdb  
    OP
       Aug 24, 2023
    同学们,我看到 github 里面的 topic ,如下链接:

    totp · GitHub Topics — https://github.com/topics/totp

    我看了一下,有好多语言开发的,我随便看了几个 python 的,看起来都差不多,就是输入一个 secret 字符串,根据当前的时间,能生成一个密码。

    言下之意,我是否不借助任何 app ,直接在 python 或者别的地方也能用?

    现在关键的问题是,我昨天用 google authenticator 的时候,那个二维码的图片没有保存,我是不是要重新推倒重来(重新设置过,然后在设置的时候,把二维码保存一下?)
    skiy
        128
    skiy  
       Aug 24, 2023
    @gdb 如果你之前有记录下那串字符,或者有下载保存那个二维码,你可以用别的软件添加一下,不会对你在 Google 的有任何影响。但你使用重置方式再添加,那就会有影响(也就是说,原来的失效了,必须重新添加)。
    SimonOne
        129
    SimonOne  
       Aug 24, 2023
    @gdb #127 是可以,但是你猜为什么那个图片只给你看一次呢,如果你把图片泄漏了,那么又会发生什么呢。
    安全和便利是难两全的,你如果不想每次都打开 app 的话所以打算自己明文存下来本地计算的话,这套就变成走形式了,不安全了。

    你再想想,手机上有 app 可以算,难道电脑上就没了吗,你下个电脑上用的可以带浏览器自动填充的不就行了,比如前面提到的一些密码管理软件 bitwarden,1password 。

    然后怕丢失的话,uri 就加密一下存到安全的地方。
    yexingshusheng
        130
    yexingshusheng  
       Aug 24, 2023
    Authy
    lee88688
        131
    lee88688  
       Aug 25, 2023 via Android
    我尝试了一下 KeePassDX ,也是没问题的,我已经切换过来了。
    wenjy
        132
    wenjy  
       Oct 13, 2023
    这个可以
    daisyfloor
        133
    daisyfloor  
       Feb 4, 2024
    @nothingistrue 2FAs 这开源 app 算纯本地的 TOTP 软件么?
    mikaelson
        134
    mikaelson  
       Aug 16, 2024
    @aichunya #8 支持自动填充吗
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4099 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 05:26 · PVG 13:26 · LAX 22:26 · JFK 01:26
    ♥ Do have faith in what you're doing.