Git 记住账号密码(保存凭据、免密登录)
- 2024-06-18 17:44:12
- 丁国栋
- 原创 140
我们经常希望在可信的计算环境下(自己的电脑上)使用免密登录,即不使用账号和密码就能登录到服务。从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。
发表评论