Github two-factor 认证
笔者认为 Two-Factor(2FA) 认证是目前最为安全的认证方法。 Github 和 Google 都提供了这两种方式的登录和认证。 Github 提供的是 Time-based One Time Password(TOTP) 类型的 2FA。
当打开 Github 的 2FA,
客户端就不再支持通过 Username + Password
的方式进行 pull
和 push
.
需要以下两种方法解决:
-
设置 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 进行 登录。