Github的PAT口令的密码记录和保存方案
本文最后更新于:2022年3月15日 晚上
参考链接
简单方案
最简单的方案是讲自己的配置文件用明文保存,在文档中查询可知道指令如下
1 |
|
在设置credential.helper
为全局store
之后,下一次的验证会出现提示并保存,之后则会使用存在~/.git-credentials
的明文帐号密码进行登入
加密方案
为了更好的管理Github的Token,需要一个Git凭证助手来帮我们记忆用户名和对应的PAT,以下为Git-Credential-Manager-Core
引导
安装
安装Lateset Release的GCM,并初始化设置
1 |
|
配置
在Linux上使用GCM需要额外设置credential.credentialStore
,其中包含的设置方法如下:
通过Secret Service API来存储
该方法需要系统有GUI显示功能
1 |
|
这个办法通过libsecret
库来和Secret Service
进行交互,所有的凭证都存储在“collections”当中。如果要查看的话,可以通过secret-tool
或seahorse
来进行查看。注:在请求用户帐号信息的时候会通过GUI来进行交互。
通过Git自带的凭证缓存机制来存储
1 |
|
这种方法保存的密码不会以可长期读取的文件形式存在硬盘上,如果是需要链接一些临时性的服务可以用这个方法。默认来说git credential-cache
会储凭证900s,可以通过如下指令修改:
1 |
|
通过纯文本的形式进行保存
这办法不安全
1 |
|
这种办法保存的密码默认会存在~/.gcm/store
目录下,目录可通过GCM_PLAINTEXT_STORE_PATH
环境变量来进行修改,如果文件不存在则会被创建新创建的文件权限为700
.
通过GPG/pass进行存储
这种方法需要有一对GPG密钥
1 |
|
这种办法主要使用了pass工具,默认情况下文件会保存在~/.password-store
文件下,该目录可以通PASSWORD_STORE_DIR
来进行修改。在使用这种办法进行凭证管理之前,首先需要通过一对GPG密钥对pass
进行初始化操作。
1 |
|
这里的<gpg-id>指的是当前使用gpg密钥对的用户的系统id。通过以下指令可以创建一个自己的gpg密钥对:
1 |
|