SPR*_*BRN 5 pgp gnupg osx-el-capitan macos
我搬到了另一台 Macbook。由于昂贵的 SSD 和非常小的磁盘大小,并且因为我想从这个安装开始干净,我无法传输用户文件夹。我连接了外置机箱中的旧磁盘,看到我忘记导出两个私钥。我想从外部磁盘或 Time Machine 恢复它们。
在哪里可以找到 GPG 工具私钥,以便导出它们,或复制整个 GPG 工具文件夹?
Jen*_*rat 10
默认情况下,GnuPG 密钥环存储在(隐藏)文件夹中~/.gnupg
;换句话说.gnupg
,您的主目录中的文件夹。您可以简单地将整个文件夹复制到新机器上。如果之后 GnuPG 无法正常工作或显示一些错误消息表明权限损坏,请确保在之后通过在终端应用程序中运行以下命令获得所有权(即使您的用户名相同,内部 ID 也可能不同)将查询您的用户密码):
sudo chown -R $USER:staff ~/.gnupg
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用
gpg --export-secret-keys [key-id] >secret-keys.gpg
Run Code Online (Sandbox Code Playgroud)
命令。如果您想从旧磁盘中恢复密钥,请将其连接到您的计算机。要处理旧磁盘的 GnuPG 密钥环,请使用该--homedir
选项,这将导致类似
gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --list-secret-keys
Run Code Online (Sandbox Code Playgroud)
列出可用的密钥,以及
gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] > secret-keys.gpg
Run Code Online (Sandbox Code Playgroud)
导出它们。您还可以将它们直接导入到新的 GnuPG 密钥环中,而不是存储在中间文件中(注意管道后--homedir
GnuPG 调用中缺少的参数):
gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] | gpg --import
Run Code Online (Sandbox Code Playgroud)
时间机器备份可以安装,但不能就地修改。这意味着 chown 将失败,并且您不能在--homedir
没有获得以下流的情况下将该选项与 gpg 一起使用:
gpg: failed to create temporary file '/Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg/': Permission denied
gpg: can't connect to the agent: Permission denied
Run Code Online (Sandbox Code Playgroud)
chown 将失败并显示如下消息流:
$ sudo chown -R user:staff .gnupg
chown: .gnupg/tofu.db: Operation not permitted
chown: .gnupg/trustdb.gpg: Operation not permitted
chown: .gnupg: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
从 Time Machine 备份中复制 .gnupg 文件夹,chown 并查看/提取私钥,如上所示:
$ mkdir ~/gpg_recovery
$ cp -r /Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg ~/gpg_recovery/
$ cd ~/gpg_recovery/
$ sudo chown -R $USER:staff .gnupg
Password:
$ gpg --homedir ~/gpg_recovery/.gnupg --list-secret-keys
$ gpg --homedir ~/gpg_recovery/.gnupg --export-secret-keys | gpg --import
gpg: key xxxxxxxxxxxxxxxx: public key "xxxxxxxxxxxxxxxxxxxxxxx" imported
gpg: key xxxxxxxxxxxxxxxx: secret key imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20413 次 |
最近记录: |