Loading... # Why? 不配置这个东西,每次push等操作都需要重新输入账号密码,十分的麻烦,而且在使用Personal Access Token的时候,每次都得去Github上面复制一遍,有了这个,就可以通过gpg加密存储对应的凭证了。 # How? 首先,我们登陆云机器一般都是通过SSH,所以是没有GUI的,这个时候就得配置TTY-only的gpg密钥输入器,那如何配置呢? 这里以Ubuntu作为示例。 我们先下载好 gpg 和 pass,以及 pinentry-tty。 ```bash sudo apt update && sudo apt upgrade sudo apt install gpg pass pinentry-tty ``` 然后先生成一个gpg的密钥对,使用以下命令 ```bash gpg --gen-key ``` 之后我们得找到对应的gpg-id,也就是下面这串 ![](https://www.onesnowwarrior.cn/usr/uploads/2024/03/354294596.png) 输入下面的命令 ```bash pass init <gpg-id> ``` 这样,关于gpg的基本配置就完成了,然后tty相关,还需要配置下面的东西。 我们来到 ~/.gnupg/gpg-agent.conf 输入下面的配置 ```bash pinentry-program /usr/bin/pinentry-tty ``` 然后输入命令 ```bash gpg-connect-agent reloadagent /bye ``` 这样,gpg 在 TTY 环境下的密码输入程序也配置好了,如果不是 SSH 连接的方式,还需要在 \~/.bashrc 或~/.profile 中输入以下命令 ```bash export GPG_TTY=$(tty) ``` 再然后,就是配置 git 相关了 ```bash git config --global credential.credentialStore gpg ``` 最后,安装GCM即可 ```bash curl -L https://aka.ms/gcm/linux-install-source.sh | bash git-credential-manager configure ``` # 参考 [https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md#linux](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md#linux) [https://github.com/git-ecosystem/git-credential-manager/blob/main/docs/credstores.md#gpgpass-compatible-files](https://github.com/git-ecosystem/git-credential-manager/blob/main/docs/credstores.md#gpgpass-compatible-files) Last modification:March 6, 2024 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏