Github two-factor 认证

笔者认为 Two-Factor(2FA) 认证是目前最为安全的认证方法。 Github 和 Google 都提供了这两种方式的登录和认证。 Github 提供的是 Time-based One Time Password(TOTP) 类型的 2FA。

当打开 Github 的 2FA, 客户端就不再支持通过 Username + Password 的方式进行 pullpush.

需要以下两种方法解决:

  • 设置 git remote 为 ssh 方式, 如:

 (base) [lgao@lgao gaol.github.io]$ git remote add fork git@github.com:gaol/gaol.github.io.git
 (base) [lgao@lgao gaol.github.io]$ git remote -v
 fork	git@github.com:gaol/gaol.github.io.git (fetch)
 fork	git@github.com:gaol/gaol.github.io.git (push)
 origin	https://github.com/gaol/gaol.github.io (fetch)
 origin	https://github.com/gaol/gaol.github.io (push)

然后在 push 的时候使用:

 git push fork master
当然,你需要提前设置 SSH Keys 才能进行 push
  • 设置 Github 的 access token

用户可以设置多个 access token, 每个 token 可以有不同的权限,比如:只能读取 public repository,或者可以写入 private repository 等

之后在 git push 的时候就可以使用该 access token 进行 登录。