1Password, Authy, Microsoft Authenticator 这几个app ,国内好像都不太好装,或者是收费。
一直用的 step two
如果只是想找个免费的支持 TOTP (Time-based one-time password) 类型的两步验证 App,其实有非常多选择,我一直用的是 Google Authenticator。去翻翻开源的项目估计也有很多。
国内不好装是国内的问题,跳过这个话题。
但是你问有什么好方案,我强烈建议购买一个类似 yubikey 的硬件,看起来像这样
插上之后需要登录的时候就摸一下。方便安全,还能用于 GPG 加密/签名,开机 PIN 保护等等,除了贵没缺点(200 到 1000 RMB 不等)
当然你也可以同时绑定 TOTP 和 yubikey,如果临时忘记带可以继续用 TOTP。
我一直用的这个
或者用 Emacs
Github 此举属实恶心,最好的方案就是放弃 Github.
另外补充一下 Github 关于强行推行 2FA 的通知 https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13/
不好安装原本只是一个技术问题,但是在手机应用必须备案的新规下已经成了一个法律问题,确实需要慎重考虑。
虽然现如今一个人在中国大陆使用 Github 的过程中大概率已经用了某些违法的技术了
刚刚收到邮件提醒了。看来要试试 Microsoft 家的 Authenticator
一直在用这个。
我们公司用的 Office 全家桶,都得用 Microsoft Authenticator。用 iPhone 安装这个 App 比较方便,用 安卓的话,有的手机品牌(比如小米)需要用百度助手安装才能用。
我觉得你搞错了攻击对象
用的 pass,支持 TOTP。通过私有 Git 仓库在多端同步数据,数据通过 GnuPG 加密:
- Desktop 上用的 pass 的命令行版本,理论上支持各种 *NIX 系统。
- Emacs 里可以调用
auth-source-pass-get
- Emacs 里可以调用
- iOS 上用的 Pass
怎么删除一个条目?
(auth-source-forget ...
) 删除之后,打开 topt-widget
发现还在。
先试试 auth-source-forget-all-cached
,auth-source-forget
的 spec 要完全一致才有用。
Microsoft Authenticator 不是很好装么。。。我直接从应用商店装的
这个会有什么影响?影响不能使用 emacs copilot?还是会影响本地 git 不能直接推送到远端?
不是所有手机都能直接从应用商店安装,有的被禁了,装了用不了。不过用百度助手装就可以了。
下午花了点时间看了下 RFC,自己用 swift 写了一个,直接用 macOS 的 keychain 来保存 secrete key,比用 Emacs 的 auth source 安全。
执行力👍🏻
不过我这边编译遇到点问题:
-
找不到 SDK,我改了一下可以了:
+SWIFTFLAGS=-sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk @@ -10 +11 @@ run: libutils.dylib - swift main.swift -I . -lutils + swift $(SWIFTFLAGS) main.swift -I . -lutils @@ -13 +14 @@ libutils.dylib: $(LIB_FILES) - swiftc -emit-library -olibutils.dylib $(LIB_FILES) + swiftc $(SWIFTFLAGS) -emit-library -olibutils.dylib $(LIB_FILES) @@ -19 +20 @@ totp: $(SOURCE_FILES) - swiftc -Osize -remove-runtime-asserts -o $@ $(LIB_FILES) $(SOURCE_FILES) + swiftc $(SWIFTFLAGS) -Osize -remove-runtime-asserts -o $@ $(LIB_FILES) $(SOURCE_FILES)
-
找不到 CryptoKit:
crypt.swift:2:8: error: no such module 'CryptoKit' import CryptoKit ^ make: *** [totp] Error 1
我查了一下,CryptoKit 最低系统要求 10.15
最后找到一个比较旧的项目,也蛮好用 GitHub - MinaOTP/MinaOTP-MAC: Two-factor authentication tray app in macOS
我很早就开启了这个认证,目前emacs copilot 和 magit的体验和以前一样,没有受到影响。
Emacs 存的是明文放在 ~/.authinfo,然后用 Emacs 打开还显示星号,刚开始我还真以为是加密过的