我在通过单个命令行通过 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) 我正在使用双重性在我的服务器上执行备份。现在,duplicity 正在使用 GPG 公私密钥系统加密备份。我更愿意只使用密码来加密备份文件,所以我不必尝试跟上秘密密钥。如何配置要以这种方式加密的备份?
谢谢,
麦克风
我想创建这样的邮件列表,其中每个贡献者都必须使用 PGP/GPG 签署他/她的消息,否则邮件列表软件会阻止未签名的消息。
允许发布的用户的所有 PGP/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) 有没有办法从 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) 受最近SHA-1 中的漏洞和警告开始远离该哈希函数的过程的提示,我再次尝试使用 GnuPG。我只是想知道其他人如何使用该系统。使用这些问题作为提示,但我真的很想听听我什至没有想到的东西。
你用什么尺寸的钥匙?
你的 gpg.conf 中有什么样的东西?
你的钥匙有有效期吗?
您是否在安全的地方拥有吊销证书 - 也许是与值得信赖的朋友一起?
我创建了一个脚本,它运行重复性来备份我在 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/
我在为 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) 我在 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 all和sudo rm -rf /var/cache/yum)。
如何从 yum 存储库配置中删除此密钥?
版本信息:
$ yum --version
3.4.3
Run Code Online (Sandbox Code Playgroud) 有没有人尝试在 Ubuntu 18.04 上为加密支柱创建 GPG 密钥?
我正在使用以下命令尝试生成密钥:
gpg --gen-key --homedir /etc/salt/gpgkeys
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我会得到一组常见的问题、全名、电子邮件等。但是,当它进入密码短语屏幕时,我似乎无法在不输入密码短语的情况下通过它。我得到一个看起来像这样的 ncurses 显示:
如果我只是按 Enter 键通过它,它会立即弹回。如果我点击“取消”,则会出现以下错误:
gpg: agent_genkey failed: Operation cancelled
Key generation failed: Operation cancelled
Run Code Online (Sandbox Code Playgroud)
有人遇到这个吗?