所以我们都知道如何使用 SSH 等方式使用公钥/私钥。但是使用/重用它们的最佳方法是什么?我应该永远把它们放在安全的地方吗?我的意思是,我需要一对密钥来访问 GitHub。我从头开始创建了一对,并用它来访问 GitHub 一段时间。然后我格式化了我的硬盘并丢失了那对。大不了,我创建了一个新对并将 GitHub 配置为使用我的新对。还是我不想失去的东西?
我还需要一对公钥/私钥来访问我们公司的系统。我们的管理员向我要了我的公钥,我生成了一对新密钥并将其交给了他。通常是创建一个新对来访问不同的系统更好,还是拥有一对并重用它来访问不同的系统更好?同样,创建两个不同的对并使用一个从家里访问我们公司的系统,另一个从工作中访问系统更好,还是只拥有一对并从两个地方使用它更好?
我想生成一个RSA密钥GPG并在SSH登录时使用它。这甚至可能吗?如果是这样,如何?
编辑:请参阅@wwerner 的回答,我没有尝试过,但它似乎是当前的解决方案(截至 2018 年)
我正在尝试在 Ubuntu 12 上安装 Mongodb,但是当我运行此命令时:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
返回以下错误:
找不到 keyserver.ubuntu.com 主机
gpgkeys:HTTP 获取错误 7:无法连接:没有这样的文件或目录
gpg:找不到有效的 openPGP 数据
gpg:进程总数:0
我在 Iptables 上关闭了防火墙,但它不起作用。有什么想法吗?
我创建了几个自签名 S/MIME 证书(使用 OSX Keychain & OpenSSL),然后将它们导出到 3 个文件中:
当尝试将这些导入回另一台 Mac 时,证书和私钥导入没有任何问题。但是无法导入公钥。
相反,我收到以下错误消息:
发生了错误。无法导入项目。
本次内容无法检索

如何导入公钥?是否应该将其转换为另一种格式以进行导入?
当我尝试在 macOS 13 (Ventura) 中使用 RSA SSH 密钥进行身份验证时,出现错误Permission denied (publickey)。但是,当我在 macOS 12(蒙特雷)上使用相同的命令时,它可以正常工作。
我正在使用 FileZilla 连接到我的 SFTP 服务器。但是当我尝试连接时,它给了我这个错误
错误:断开连接:没有可用的受支持的身份验证方法(服务器发送:公钥)
我已经使用 PuTTYgen 生成了一个私钥并将其添加到 FileZilla 中,但仍然出现此错误。
这个错误是什么意思?我该如何解决?
我的.gnupg目录(pubring.gpg和secring.gpg)中有公共和私人密钥环文件。我想创建一个新的密钥环trustedkeys.gpg,也在 中.gnupg,我可以向其中添加其他人的公钥。
如何创建这个新的钥匙圈?
运行“ssh-keygen -t dsa”会生成两个文件,一个私钥和一个公钥。它很简单,可以理解私钥用于向外界表明您的身份,而外界只能看到您的公钥。
但是,我也看到过使用“.pem”文件,我自己也使用过它们。.pem 文件和 pub 文件之间的关系是什么。我希望得到一个简单的答案,但还有其他问题(https://serverfault.com/questions/9708/what-is-a-pem-file-and-how-does-it-differ-from-other-openssl- generate-key-file ) 似乎表明没有简单的解释来解释为什么 pem 文件在不同情况下可能比 pub 文件更好/更差。
是否有一些工具可以以人类无法理解的方式写出 GnuPG 公钥的实际内容?我的意思不仅是人类可以阅读和键入的 ascii-armor,而且是将数据真正分解为加密部分的大十进制数、UID 的字符串等等的东西?我真的很想看看里面有什么。
今天的实际应用:我有来自同一个人的两个密钥,在同一日期创建,但指纹不同。假设其中一个是通过某种转换从另一个创建的,可能是通过使用最新软件将旧密钥导入到钥匙串中。我想看看实际发生了什么变化。也许只是指纹算法发生了变化,但也许还有更多。
我知道可以使用ssh-keygen -y.
如何从 GPG 中的私钥中恢复(删除的)公钥(最好以与 OpenGPG 兼容的方式)?
public-key ×10
private-key ×5
ssh ×5
gnupg ×4
cryptography ×2
linux ×2
macos ×2
git ×1
keychain ×1
mongodb ×1
openssl ×1
sftp ×1
ubuntu ×1