Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多台计算机上使用带git的pass_Git_Password Encryption_Gnupg - Fatal编程技术网

在多台计算机上使用带git的pass

在多台计算机上使用带git的pass,git,password-encryption,gnupg,Git,Password Encryption,Gnupg,我最近遇到了这个看起来不错的问题 此管理器允许使用gpg密钥加密密码,并将密码保存在git存储库中。我对git有点陌生,所以这对我来说也很有趣 有一件事我不明白,那就是从多台计算机访问同一个git代表以使用pass的优雅方式。开始使用pass和创建本地代表需要GPG密钥。接下来,当我尝试从远程代表获取时,我显然会遇到冲突,因为PC 2上的GPG密钥不是PC 1(即代表中)上使用的密钥。当您试图通过删除PC 2上的本地代表中的密钥来解决冲突时,希望从远程代表获取原始密钥,但没有密钥时,pass无法

我最近遇到了这个看起来不错的问题 此管理器允许使用gpg密钥加密密码,并将密码保存在git存储库中。我对git有点陌生,所以这对我来说也很有趣

有一件事我不明白,那就是从多台计算机访问同一个git代表以使用pass的优雅方式。开始使用pass和创建本地代表需要GPG密钥。接下来,当我尝试从远程代表获取时,我显然会遇到冲突,因为PC 2上的GPG密钥不是PC 1(即代表中)上使用的密钥。当您试图通过删除PC 2上的本地代表中的密钥来解决冲突时,希望从远程代表获取原始密钥,但没有密钥时,pass无法工作。那么,如何让PC 1和PC 2共享相同的gpg密钥以使pass能够顺利工作呢

我是否试图让它做一些不该做的事?否则,我看不出使用远程git代表获取密码有什么好处


谢谢

您需要将GPG私钥复制到每个受信任的计算机。最好的方法是(当然,假设您的密钥受密码保护)从创建密钥的机器上导出密钥,复制文件,然后在另一台机器上导入密钥

您需要知道要导出的密钥的ID:

gpg --list-keys
现在,找出您需要的私钥,并在下面替换它:

gpg --export-secret-key <PRIVATE_KEY_ID> > private.key
gpg --import private.key