我有一些关键文件
----BEGIN RSA PRIVATE KEY-----
SOMEGARBAGECHARACTERS
-----END RSA PRIVATE KEY-----
但是当我尝试与 ssh 一起使用它时,它会要求输入一些密码:
ssh -i mykey.pem [email protected]
Enter passphrase for key 'mykey.pem':
这是否意味着该文件中某些关键短语被编码了?还是意味着其他什么?
更新
没有任何 DEK 线或其他东西。只有均匀的随机字符。
更新2
密钥文件不知何故损坏了。我通过电子邮件收到了它,并将其复制粘贴到文本编辑器中。没有明显的差异,但实际上它们存在。在我用原始编辑器打开电子邮件并以这种方式复制/粘贴密钥后——一切都正常了。
正如@Jakuje 所建议的,我使用了openssl
该工具但报告了错误。
答案1
OpenSSH 要求输入每个垃圾输入的密码。打开错误上游。这可能会让很多用户感到困惑。
检查背后内容的唯一方法是直接使用 openssl:
openssl rsa -text <mykey.pem
它应该要求输入密码或报告密钥中的任何其他错误。
答案2
这意味着密钥本身是使用密码加密的。要使用密钥登录,ssh 首先需要解密它。
答案3
创建私钥时,您可以选择使用密码来保护它。如果您 100% 确定没有人(也没有病毒或任何东西)会复制该密钥,那么您可以不用它。如果密钥用于没有价值的东西(例如本地测试机,上面没有任何重要的东西),情况也是如此。否则,使用密码是一种很好的做法。
如果私钥受到保护,则密钥将使用该密码进行加密,您需要使用该密码才能解锁密钥。因此,SSH 要求输入密码才能使用密钥是正常的。