You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过已有的GitHub SSH密钥恢复无法验证2FA的账号访问权限?

如何通过已有的GitHub SSH密钥恢复无法验证2FA的账号访问权限?

兄弟,我太懂你这种急得挠头的处境了——手机号换了,2FA验证卡壳,明明SSH还能正常push代码,却登不上账号后台操作,简直憋屈!别慌,你手里的有效SSH密钥确实是个绝佳的突破口,咱们一步步来搞定:

  • 先确认SSH密钥的有效性和关联账号
    先在终端里敲这个命令,确保你当前的SSH确实绑定的是你的目标GitHub账号:

    ssh -T git@github.com
    

    正常会返回类似「Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.」的提示,这就说明密钥没问题,和账号是绑定的。

  • 安装并使用GitHub CLI(gh)通过SSH登录
    这个工具能帮你绕开网页端的2FA验证,直接用SSH授权登录。安装好之后,在终端执行:

    gh auth login --git-protocol ssh
    

    跟着提示走:选择「GitHub.com」,然后工具会自动检测到你已有的SSH密钥,全程不需要输入密码或2FA验证码,直接就能完成登录。

  • 用gh CLI重置你的2FA设置
    登录成功后,你就能直接管理2FA了:

    • 先看看当前的2FA状态:
      gh auth two-factor status
      
    • 移除旧的短信验证方式(因为手机号已经用不了了):
      gh auth two-factor remove --method sms
      
    • 接下来添加新的2FA方式,推荐用TOTP认证应用(比如Google Authenticator、Authy这类),执行:
      gh auth two-factor add --method totp
      
      按照终端提示,在你的认证APP里扫描二维码或者手动输入密钥,验证成功后新的2FA就生效了。要是你还是想用短信验证,就把命令里的totp换成sms,输入新手机号接收验证码就行。
  • 额外提醒:
    搞定之后一定要把新的2FA备用码存到安全的地方(比如密码管理器),下次再换设备或手机号的时候就不用这么慌了!

内容来源于stack exchange

火山引擎 最新活动