标签: gpg

如何导入秘密 gpg 密钥(从一台机器复制到另一台机器)?

我正在尝试将我的 gpg 密钥从一台机器复制到另一台机器。

我愿意:

gpg --export ${ID} > public.key
gpg --export-secret-key ${ID} > private.key
Run Code Online (Sandbox Code Playgroud)

将文件移动到新机器,然后:

gpg --import public.key
gpg: nyckel [ID]: public key [Name, e-mail] was imported
gpg: Total number of treated keys: 1
gpg:                 imported: 1  (RSA: 1)

gpg --allow-secret-key-import private.key
sec  [?]/[ID] [Creation date] [Name, e-mail]
ssb  [?]/[SUB-ID] [Creation date]
Run Code Online (Sandbox Code Playgroud)

对我来说一切都很好,但是:

$ gpg -d [file].gpg
gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date]
  [Name, e-mail]
gpg: decryption failed: secret key not accessible
Run Code Online (Sandbox Code Playgroud)

因此,错误消息表明该文件已使用 [SUB-ID] 加密,密钥导入似乎表明已导入该文件。(两个消息中的 [SUB-ID] …

gpg

239
推荐指数
3
解决办法
31万
查看次数

gpg:密钥服务器接收失败:没有 dirmngr

尝试在我的 Debian Stretch 服务器中接收密钥时,出现此错误:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Executing: /tmp/apt-key-gpghome.4B7hWtn7Rm/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.4B7hWtn7Rm/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
Run Code Online (Sandbox Code Playgroud)

debian apt gpg

117
推荐指数
2
解决办法
16万
查看次数

如何使用 gpg 更新过期的密钥对

过期时更新 gpg 密钥对的最佳方法是什么,该方法的原因是什么?

密钥对已经由许多用户签名并在公共服务器上可用。

  • 新密钥应该是过期私钥的子密钥吗?

  • 是否应该由旧签名(我可以尝试编辑密钥并将到期日期更改为明天)?

  • 新钥匙应该在旧钥匙上签名吗?

gpg maintenance

113
推荐指数
2
解决办法
5万
查看次数

如何将 GPG 私钥和公钥导出到文件

我通过执行以下命令使用 GPG 生成了密钥

gpg --gen-key
Run Code Online (Sandbox Code Playgroud)

现在我需要将密钥对导出到一个文件中;即分别是private.pgp和 的私钥和公钥public.pgp。我该怎么做?

gpg pgp openpgp

112
推荐指数
3
解决办法
15万
查看次数

即使使用 --passphrase,gpg 也会要求输入密码

我希望以下命令可以在不要求密码的情况下提取 gpg 文件:

  gpg --passphrase 1234 file.gpg
Run Code Online (Sandbox Code Playgroud)

但它要求输入密码。为什么?

这也有相同的行为:

  gpg --passphrase-file passfile.txt file.gpg
Run Code Online (Sandbox Code Playgroud)

我将 Ubuntu 与 gnome 3 一起使用,并记住它在 Fedora 中运行

shell-script gpg

93
推荐指数
8
解决办法
23万
查看次数

尝试添加 GPG 公钥时密钥服务器超时

我正在尝试添加用于使用 CPG 安装程序的公钥。但是我对此很陌生,但是我发现的每个命令都给了我同样的错误:

gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59
gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
Run Code Online (Sandbox Code Playgroud)

这怎么可能看起来我在某种封锁背后,这使得无法建立到密钥服务器的连接。我查看了许多 OP 问题并尝试了所有我能找到的命令,但没有任何效果。以前有人遇到过这个问题吗?

bash ubuntu gpg

80
推荐指数
4
解决办法
17万
查看次数

密钥详细信息列表中如何定义 GPG 使用标志?

当我列出一个键的详细信息时,我会得到如下输出:

$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..]   usage:SC
[..]
sub [..] created: [..] expires: [..]   usage: E
Run Code Online (Sandbox Code Playgroud)

甚至usage: SCA在另一个键上(主键部分)。

用法字段中的这些缩写是什么意思?

我可以得出:

S -> for signing
E -> for encrypting
Run Code Online (Sandbox Code Playgroud)

但是CA呢?

还有更多吗?

在哪里可以找到这样的东西?

gpg

70
推荐指数
5
解决办法
3万
查看次数

无法在代理后面添加带有 apt-key 的 gpg 密钥

apt-key自从我切换到 Ubuntu 17.04 以来,通过系统地添加 gpg 密钥失败了(不过我怀疑它是否直接相关)。Spotify 的 repo 密钥示例:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
Executing: /tmp/apt-key-gpghome.wRE6z9GBF8/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
gpg: keyserver receive failed: No keyserver available
Run Code Online (Sandbox Code Playgroud)

如果我删除hkp://前缀,同样的事情。


上下文:我使用CNTLM来处理本地公司代理。设置环境变量(在 中/etc/environment):

$ env | grep 3128
https_proxy=http://localhost:3128
http_proxy=http://localhost:3128
ftp_proxy=http://localhost:3128
Run Code Online (Sandbox Code Playgroud)

/etc/apt/apt.conf已配置(apt命令工作正常):

$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://localhost:3128";
Acquire::https::Proxy "http://localhost:3128";
Acquire::ftp::Proxy "http://localhost:3128";
Run Code Online (Sandbox Code Playgroud)

最后,指定的密钥服务器似乎可以访问:

$ curl keyserver.ubuntu.com:80
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head> …
Run Code Online (Sandbox Code Playgroud)

debian proxy apt gpg

54
推荐指数
2
解决办法
10万
查看次数

如何找出 gpg-agent 缓存了哪些键?(比如 ssh-add -l 如何显示缓存的 ssh 密钥)

ssh-add -l向您显示已添加的所有 ssh 密钥ssh-add ~/.ssh/id_yourkey。我如何用 gpg 和 gpg-agent 做类似的事情,换句话说,让它显示缓存键的列表?

gpg gpg-agent

48
推荐指数
5
解决办法
2万
查看次数

gpg —list-keys 命令在将私钥导入全新安装后输出 uid [ unknown ]

我全新安装了 Arch Linux 并导入了我备份的 gpg 私钥。作为健全性检查,我跑了:

gpg —list-keys
Run Code Online (Sandbox Code Playgroud)

除了uid现在显示的内容外,一切都显示正常:

uid [ unknown ] User < user@useremail.com >
Run Code Online (Sandbox Code Playgroud)

当我在全新安装之前首次创建此密钥时,它显示为:

uid [ ultimate ] User < user@useremail.com >
Run Code Online (Sandbox Code Playgroud)

为什么在将其导入全新安装后会从[ ultimate ]变为[ unknown ]

提前致谢。

gnu gpg

41
推荐指数
1
解决办法
2万
查看次数

标签 统计

gpg ×10

apt ×2

debian ×2

bash ×1

gnu ×1

gpg-agent ×1

maintenance ×1

openpgp ×1

pgp ×1

proxy ×1

shell-script ×1

ubuntu ×1