标签: gpg

通过 ssh 使用 gpg-agent

我在通过单个命令行通过 ssh 使用 gpg-agent 时遇到问题。

这是我的配置:

服务器 A:通过 ssh 触发命令。

ssh user@serverB "sudo -E /path/to/script.sh"
Run Code Online (Sandbox Code Playgroud)

服务器 B:执行需要密码签名的脚本。

系统信息:Ubuntu 12.04

我已经在服务器 B 上设置了 gpg-agent,我已经将此配置添加到 /home/user/.bashrc :

Invoke GnuPG-Agent the first time we login.                                                                          
# Does `~/.gpg-agent-info' exist and points to gpg-agent process accepting signals?                                    
if test -f $HOME/.gpg-agent-info && \
    kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
    GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`
else
    # No, gpg-agent not available; start gpg-agent                                                                     
    eval `gpg-agent --daemon --write-env-file $HOME/.gpg-agent-info`
fi
export GPG_TTY=`tty` …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssh gpg env

8
推荐指数
1
解决办法
3197
查看次数

如何将 Duplicity 与对称密钥一起使用?

我正在使用双重性在我的服务器上执行备份。现在,duplicity 正在使用 GPG 公私密钥系统加密备份。我更愿意只使用密码来加密备份文件,所以我不必尝试跟上秘密密钥。如何配置要以这种方式加密的备份?

谢谢,

麦克风

gpg passphrase duplicity

7
推荐指数
2
解决办法
6524
查看次数

邮件列表 + PGP/GPG 支持

我想创建这样的邮件列表,其中每个贡献者都必须使用 PGP/GPG 签署他/她的消息,否则邮件列表软件会阻止未签名的消息。

允许发布的用户的所有 PGP/GPG 公钥都应该存储在邮件列表服务器的某个地方。

允许所有其他用户同时以只读访问读取邮件列表。

什么开源邮件列表软件可以轻松添加此功能?

gpg pgp

7
推荐指数
1
解决办法
856
查看次数

将第二个子密钥添加到无人值守 GPG 密钥

我正在编写一个生成无人值守 GPG 密钥的 bash 脚本,我查看了 GPG 的无人值守用法,并惊讶地发现“目前只能处理一个子密钥”。

我无法找到是否有办法修改 GPG 密钥以使用可用的无人参与生成功能添加第二个子项,或者我是否必须自己手动添加子项。

我尝试使用here documents,here strings并创建一个每行一个输入的文件,并使用printf类似于以下内容:

printf 'addkey' | gpg2 --edit-key 'test@test.com'
Run Code Online (Sandbox Code Playgroud)

这些解决方案都不起作用:

balthasar@magi:~$ printf 'addkey' | gpg2 --edit-key 'test3@test.com'
printf 'addkey' | gpg2 --edit-key 'test3@test.com'
gpg (GnuPG) 2.0.26; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  4096R/AB96CED4  created: …
Run Code Online (Sandbox Code Playgroud)

bash gpg

7
推荐指数
2
解决办法
1674
查看次数

从 GnuPG 导出私有 ed25519 密钥以在 SSH 中使用

有没有办法从 GnuPG 中存储的 ed25519 密钥对创建 id_ed25519 (不是 id_ed25519.pub)文件?

我已经开始在 GPG 中跟踪我的 SSH 密钥:

sec   rsa3072 2017-12-12 [C]
      DDD8CEFDE281D48CBBF0C56FE2AA8C94C8A7C456
uid           [ultimate] Dave <dave@example.com>
ssb   rsa3072 2017-12-12 [S]
ssb   rsa3072 2017-12-12 [E]
ssb   rsa3072 2017-12-12 [A]
ssb   ed25519 2017-12-12 [A]
Run Code Online (Sandbox Code Playgroud)

为了导出我的公钥以供 SSH 使用,我使用了--export-ssh-keyGnuPG 中自 2.1 版本以来可用的选项。这适用于 RSA 和 ed25519 密钥。

$ gpg -o id_rsa.pub --export-ssh-key 5D61D0F9!
$ gpg -o id_ed25519.pub --export-ssh-key 0A072B72!
Run Code Online (Sandbox Code Playgroud)

(! 强制 GnuPG 使用指定的子密钥,而不是第一个可用的身份验证密钥。)

为了导出 RSA 私钥,我使用了如下工作流程:

$ gpg --export-secret-subkeys \
--export-options export-reset-subkey-passwd 0A072B72! | \
openpgp2ssh 0A072B72 …
Run Code Online (Sandbox Code Playgroud)

ssh gpg

7
推荐指数
0
解决办法
3495
查看次数

一般 GnuPG 提示

受最近SHA-1 中的漏洞和警告开始远离该哈希函数的过程的提示,我再次尝试使用 GnuPG。我只是想知道其他人如何使用该系统。使用这些问题作为提示,但我真的很想听听我什至没有想到的东西。

你用什么尺寸的钥匙?

你的 gpg.conf 中有什么样的东西?

你的钥匙有有效期吗?

您是否在安全的地方拥有吊销证书 - 也许是与值得信赖的朋友一起?

encryption gpg

6
推荐指数
1
解决办法
239
查看次数

SUDO 无法使用用户 GPG 密钥

我创建了一个脚本,它运行重复性来备份我在 VPS 上的文件,并使用我作为用户生成的 GPG 密钥。

当我尝试以 SUDO 身份运行此脚本时,我得到:

GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: C7B2Y6DO: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found ===== End GnuPG log =====
Run Code Online (Sandbox Code Playgroud)

现在我意识到这是为什么(因为它不是 SUDO 的密钥,而是用户密钥)但是在我去重新生成 SUDO 的密钥之前,是否可以让 sudo 使用用户密钥?

不是很重要,但脚本是根据这三个站点的组合建模的:http : //www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/

http://www.randys.org/2007/11/16/how-to-automated-backups-to-amazon-s-s3-with-duplicity/

https://help.ubuntu.com/community/DuplicityBackupHowto

bash sudo gpg duplicity

6
推荐指数
1
解决办法
7407
查看次数

我刚刚签署的 RPM 上的错误签名或 NOKEY 错误

我在为 RHEL/CentOS 5 主机进行 RPM 签名时遇到了严重的问题。

TL;DR:RPM 签名不起作用,并且它以各种疯狂和不稳定的方式工作,具体取决于确切的 GPG 密钥大小和格式,甚至生成位置,当密钥显示rpm -qa gpg-*为当前时会产生 NOKEY 错误;BAD刚刚使用相同密钥在同一台机器上签名的 RPM 上的签名错误;密钥上的无效密码错误,其中 gpg 直接接受密码而没有问题;等等。


我已经使用 4096、2048 和 1024 位 RSA 密钥以及 2048 位 DSA 密钥进行了测试,在同一个 CentOS 5.10 虚拟机上进行签名和验证。行为因密钥类型和大小而异,但我还没有发现任何真正有效的东西。

姓名、电子邮件和 RPM 文件名被 XXX 屏蔽但没有其他编辑,例如,DSA 2048 密钥:

$ rpm --version
RPM version 4.4.2.3

$ gpg --list-secret 92fb1e62
sec   2048D/92FB1E62 2014-08-29 [expires: 2015-08-29]
uid                  XXX <XXX@XXX.com>
ssb   2048g/2E0F0A24 2014-08-29 [expires: 2015-08-29]

$ gpg -a --export 92fb1e62 > /tmp/packagers

$ sudo rpm --import /tmp/packagers

$ rpm …
Run Code Online (Sandbox Code Playgroud)

redhat gpg rpm digital-signatures centos5

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

如何删除 yum repo GPG 密钥?

我在 Artifactory 中有一个自定义 RPM 存储库,最近启用了 GPG 签名密钥。

当我运行时sudo yum check-updates,系统提示我添加密钥:

Retrieving key from https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Importing GPG key 0x12345678:
 Userid     : "John Doe <jdoe@example.com>"
 Fingerprint: 1234 5678 90ab cdef 1234 5678 90ab cdef 1234 5678
 From       : https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Run Code Online (Sandbox Code Playgroud)

我添加了密钥,这是成功的。但是,我现在想删除密钥。我需要以编程方式(例如通过 Ansible)将密钥添加到众多服务器,因此我想重现与以前相同的行为(提示我添加密钥),以便我可以确认以编程方式添加密钥会改变这一点行为。

我尝试使用yum-config-manager取消设置gpgkey,但行为保持不变(yum 不提示我接受密钥):

sudo yum-config-manager --setopt=artifactory.gpgkey='' --save
Run Code Online (Sandbox Code Playgroud)

我还删除了 yum 缓存(sudo yum clean allsudo rm -rf /var/cache/yum)。

如何从 yum 存储库配置中删除此密钥?

版本信息:

$ yum --version
3.4.3
Run Code Online (Sandbox Code Playgroud)

centos yum gpg centos7

6
推荐指数
2
解决办法
8248
查看次数

无法在 Ubuntu 18.04 上生成没有密码的 GPG 密钥

有没有人尝试在 Ubuntu 18.04 上为加密支柱创建 GPG 密钥?

我正在使用以下命令尝试生成密钥:

gpg --gen-key --homedir /etc/salt/gpgkeys
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我会得到一组常见的问题、全名、电子邮件等。但是,当它进入密码短语屏幕时,我似乎无法在不输入密码短语的情况下通过它。我得到一个看起来像这样的 ncurses 显示:

gpg 密码

如果我只是按 Enter 键通过它,它会立即弹回。如果我点击“取消”,则会出现以下错误:

gpg: agent_genkey failed: Operation cancelled
Key generation failed: Operation cancelled
Run Code Online (Sandbox Code Playgroud)

有人遇到这个吗?

ubuntu gpg saltstack ubuntu-18.04

6
推荐指数
1
解决办法
6662
查看次数