Git 记住账号密码(保存凭据、免密登录)

2024-06-18 17:44:12
丁国栋
原创 141
摘要:我们经常希望在可信的计算环境下使用免密登录,即不使用账号和密码就能登录到服务。本文介绍如何配置git 记住账号密码,下次登录时不需要输入账号和密码,以及介绍一些安全实践。

我们经常希望在可信的计算环境下(自己的电脑上)使用免密登录,即不使用账号和密码就能登录到服务。从Git 服务器(Git Server,如GitLab、GitHub、Gogs、Gitea、GitFox、Gitee等)拉取代码默认是需要账号和密码的。如果每次都需要手动输入账号和密码,那无疑是一件麻烦的事情。

是否有办法输入一次账号和密码就能记住呢?当然可以。

方法1:最简单的办法是,在客户端配置1次凭据助手。这个方法适用于Windows和Linux,Mac OSX理论上也可以使用。

git config --global credential.helper store


方法2:在Git 服务器上设置.ssh public key(SSH公钥),通过SSH协议访问Git 服务器。这个方法需要Git Server 支持SSH协议访问,有的可能不支持或者没有配置为支持。


方法3:如果Linux操作系统,可以配置 .netrc 文件,该文件中每一行一个配置,格式为 machine IP/域名 login 账号名 password 密码/令牌(token)

例如 “machine github.com login DingGuodong password ACCESS_TOKEN”。


安全实践

  • 我们应该使用访问令牌(access token,简称token)代替我们的密码,这样可以避免密码泄露导致较大的安全风险。
  • 使用二步验证(多因子验证);
  • 使用GPG签名给代码签名;
  • 常用的二步验证器有 Google Authenticator、Microsoft Authenticator、Authy等;
  • 不同的应用使用不同的密码,不共用一个密码,不使用生日、手机号、身份证号等作为密码;
  • 密码应该足够复杂以及定期更换,并使用密码管理器管理密码。Windows常见的密码管理器有KeePass2、Authy、Bitwarden,Linux 有:KeePassXC、Authy,此外还有一些收费的密码管理工具,例如1password。


发表评论
博客分类