就你实际的问题而言,目前尚不清楚您是打算公开还是私密存储Git仓库(带有密码)。如果您想保持私密性,基本上可以按照您的需求进行操作,并将GPG私钥的安全性降低到备份仓库所在介质的安全性。然而,这可能会导致一个先有鸡还是先有蛋的问题:如果仓库是私有的,在发生崩溃时该如何找回它呢?换句话说,在发生“严重崩溃”时,必须首先找回某些东西。因此,您可能希望保持Git仓库的私密性,但以一种方式备份GPG密钥,使您能够首先独立于其他任何内容地检索。
离线备份解决方案有很多选择,例如律师、地下室等参见此处。但并非每个人都适合使用地下室,所以我建议一个在线解决方案:
创建一个超级强密码短语,几年内不需要键入。建议:使用具有个人意义的短语的长而令人难忘的拼写错误,或者来自一本书,如果您需要查找它,副本不会用完。
使用导出的GPG秘钥和可能的SSH凭据创建一个tar压缩包。
对其进行对称加密,使用您的密码短语:gpg --symmetric --armor。
创建一个免费的Git托管账户。
创建一个公开仓库,可以在没有凭据的情况下克隆。
将加密和加装甲的tar压缩包放入其中。
在“严重崩溃”后检索它:
启动Live USB。
克隆公开仓库。
gpg --decrypt。
对称密码短语将成为您抵御僵尸的主要保护措施。当涉及选择密码短语时,人们有时不肯给予您或匿名读者以利益的怀疑。但是,具有良好密码短语的对称加密应该是可靠的。
当您导出GPG私钥时,它将使用自己的密码短语进行加密。最近版本的GPG不允许未加密的导出。您可以在此处使用您的“常规”GPG密码短语。只需记住,在发生崩溃的情况下,您需要两个密码短语才能访问您的GPG私钥。另一种答案是“离线”,即将其存储在某个安全且未连接到任何计算机的地方。我在银行的保险箱里保存着所有密钥的完整、未加密副本(我已经这样做很长时间了,现在已经成为一种习惯),它们保存在软盘上。我之所以在银行的介质上将它们保持未加密状态,是因为“丢失”密钥的一个潜在情况是忘记了口令(我的口令通常包含很多奇怪的标点符号和拼写方式,忘记其中之一就无法使用)。我从未不得不从该副本恢复密钥,但我预先为最坏的情况做好了准备。
此外,介质上还有密钥吊销记录和一张说明如何处理它的纸条,以防我无法再提供帮助的情况。