ssh可以-i选择在身份验证时告诉使用哪个私钥文件:
-i identity_file选择一个文件,从中读取用于 RSA 或 DSA 身份验证的身份(私钥)。?默认
~/.ssh/identity为协议版本 1~/.ssh/id_rsa和~/.ssh/id_dsa协议版本 2。?身份文件也可以在配置文件中按主机指定。可以有多个-i选项(以及在配置文件中指定的多个身份)。
是否有类似的方法来告诉git在~/.ssh目录中有多个私钥的系统上使用哪个私钥文件?
我已经在 Windows 7 中安装了 OpenSSH 7.6 以进行测试。SSH 客户端和服务器工作正常,直到我尝试从此窗口访问我的 AWS EC2 盒之一。
看来我需要更改私钥文件的权限。这可以通过chmod命令在 unix/linux 上轻松完成。
窗户呢?
private-key.ppm 是直接从 AWS 复制的,我猜也是这个权限。
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
ubuntu@192.168.0.1: Permission denied (publickey).
C:\> …Run Code Online (Sandbox Code Playgroud) 随着ssh -i <private key filename>您可以指示ssh来使用额外的私钥来尝试验证。
文档并不清楚如何明确使用该密钥。
我想生成一个RSA密钥GPG并在SSH登录时使用它。这甚至可能吗?如果是这样,如何?
编辑:请参阅@wwerner 的回答,我没有尝试过,但它似乎是当前的解决方案(截至 2018 年)
我知道我可以简单地打开公钥并在==s之后更改评论,但是在创建时决定的评论字段是否也存储在私钥中?如果是这样,如何在不从头开始生成全新密钥的情况下更改该字段?
我发现了一个非常有趣的 CLI 密码管理器,叫做pass。要使用它,您需要生成一个 GPG2 密钥对,并使用该工具帮助您将密码存储在 gpg2 加密文件中。
为了加密文件(添加新密码),它使用公钥。
为了解密文件(检索存储的密码),它使用需要密码的私钥。
这很好用。
现在该工具存储了我所有的密码,我想备份所有这些数据,这样如果我的计算机崩溃,我就不会被锁定在我所有的在线帐户之外。
该工具与 git 很好地集成在一起,因此我能够轻松地将 .gpg 文件推送到我在另一台计算机上的私人 git 存储库。据我了解,如果没有私钥来解密这些文件,这些文件将毫无用处。
我的问题是:如何以安全的方式备份私钥和公钥,以便在需要时可以在另一台机器上恢复“数据库”?我可以将公钥和私钥都存储在我的 git 存储库中,然后稍后将它们导入到不同的机器上吗?或者将私钥存储在私有的本地 git 存储库中是否被认为是不安全的做法?git repo 需要密码才能访问。私钥是加密的,需要密码才能打开——这样存储起来安全吗?
我创建了几个自签名 S/MIME 证书(使用 OSX Keychain & OpenSSL),然后将它们导出到 3 个文件中:
当尝试将这些导入回另一台 Mac 时,证书和私钥导入没有任何问题。但是无法导入公钥。
相反,我收到以下错误消息:
发生了错误。无法导入项目。
本次内容无法检索

如何导入公钥?是否应该将其转换为另一种格式以进行导入?
我正在使用 FileZilla 连接到我的 SFTP 服务器。但是当我尝试连接时,它给了我这个错误
错误:断开连接:没有可用的受支持的身份验证方法(服务器发送:公钥)
我已经使用 PuTTYgen 生成了一个私钥并将其添加到 FileZilla 中,但仍然出现此错误。
这个错误是什么意思?我该如何解决?
运行“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 文件更好/更差。
我知道可以使用ssh-keygen -y.
如何从 GPG 中的私钥中恢复(删除的)公钥(最好以与 OpenGPG 兼容的方式)?
private-key ×10
ssh ×7
public-key ×5
gnupg ×3
openssh ×2
cryptography ×1
git ×1
keychain ×1
linux ×1
macos ×1
openssl ×1
permissions ×1
sftp ×1
windows ×1