linux 中 git 默认并没有集成密钥权限管理模块,需要自己动手,这里选择 gcm 进行 access token 的密钥管理。
工具项目仓库:https://github.com/GitCredentialManager/git-credential-manager
安装文档:https://github.com/GitCredentialManager/git-credential-manager/blob/release/docs/install.md
前提是需要有 git
sudo apt install git
从 release 页中下载 .deb 包 https://github.com/GitCredentialManager/git-credential-manager/releases/tag/v2.0.877
使用 apt 安装 .deb 包(统一管理软件,避免 apt 未知依赖的安装)
sudo apt install <path_of_package>
(建议进入文件路径启动终端,使用 sudo apt install ./<package>
安装)
运行配置命令
git-credential-manager-core configure
(你可能发现这里和官方不同,没关系,照着运行,官方文档修改不及时,有别的开发者提 PR 了。)
密钥的保管使用 gpg
git config --global credential.credentialStore gpg
检测配置,执行 git config -l
,输出需要如下(可以有其他配置,但是不要有 = 为空的选项)

这时候可能还是会存在配置问题,没关系,直接修改 git 配置文件,这个文件的路径是 ~/.gitconfig
我们再去设置 gpg (如果你之前没有配置过的话)
运行 gpg --generate-key
得到类似如下的结果,注意 pub 后的一串字符(公钥)7865BA...
...GnuPG needs to construct a user ID to identify your key.
Real name: MollyEmail address: molly@example.comYou selected this USER-ID:"Molly molly@example.com"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O...pub rsa3072 2022-03-31 [SC] [expires: 2024-03-30]7865BA9185AFA2C26C5B505669FC4F36530097C2uid Molly molly@example.comsub rsa3072 2022-03-31 [E] [expires: 2024-03-30]
执行 pass init 7865BA9185AFA2C26C5B505669FC4F36530097C2
(如果 pass 不存在执行 sudo apt install pass
安装)
这个过程中会让你输入密码,请一定记住,之后使用 gpg 的时候都会需要这个密码(在使用 git 的时候 gcm 可以记住这个密码)。