Cra*_*ger 24 windows amazon-ec2 ssh-keys
我在 AWS EC2 上创建了一个新的 Windows 实例,使用我通过从本地机器上传我的公钥创建的密钥对。
实例启动正常,但不会解密密码。它报告:

我确定我上传了正确的密钥。我已经验证指纹与 AWS 使用的奇怪指纹格式匹配。但它只是不会解密。
我试过上传密钥文件,并将其粘贴到表单中。
我最终发现它没有剥离尾随的换行符,并删除了键中的空行。但是,当我单击“解密密码”时,这只会让我遇到一个新错误:

Cra*_*ger 25
AWS EC2 的密钥管理不处理设置了密码(已加密)的 SSH 私有密钥。它不会检测到这一点,并且只会因无信息错误而失败。
如果您的私钥以加密方式存储在磁盘上(就像它应该是,IMO),您必须解密它以将其粘贴到 AWS 的控制台中。
与其这样做,不如考虑在本地解密密码,这样您就不必将私有密钥发送到 AWS。启动后从服务器日志中获取加密的密码数据(base64编码),或者使用get-password-data或者相应的API请求。
然后,您可以对结果进行 base64 解码和解密:
base64 -d /tmp/file | openssl rsautl -decrypt -inkey /path/to/aws/private/key.pem
Run Code Online (Sandbox Code Playgroud)
(OpenSSH 私钥被 接受openssl rsautl)。
与没有处理密码保护的密钥提供一个有用的错误的问题也影响了ec2-get-password命令。
也可以看看:
这就是在 macOS 中对我有用的方法:
openssl rsa -in $HOME/.ssh/aws-remote -out /Users/home/desktop/unencrypted-rsa.txt
请注意,您可以通过查找以下行来判断您的 .pem 文件是否使用密码加密。如果它存在,您需要在与亚马逊一起使用之前对其进行解密:
Proc-Type: 4,ENCRYPTED
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12878 次 |
| 最近记录: |