O gerenciamento de chaves do AWS EC2 não atende às chaves privadas SSH que possuem senhas definidas (são criptografadas). Ele não detecta isso e simplesmente falha com um erro não informativo.
Se a sua chave privada for armazenada criptografada no disco (como deveria ser, IMO), você deve descriptografá-la para colá-la no console da AWS.
Em vez de fazer isso, considere descriptografar a senha localmente, para que você não precise enviar sua chave privada para a AWS. Obtenha os dados da senha criptografada (codificado em base64) do log do servidor após a inicialização ou usando get-password-data ou os pedidos de API correspondentes.
Você pode então decodificar e descriptografar o resultado com base64:
base64 -d /tmp/file | openssl rsautl -decrypt -inkey /path/to/aws/private/key.pem
(as chaves privadas OpenSSH são aceitas por openssl rsautl
).
O problema de não conseguir lidar com chaves protegidas por senha com um erro útil também afeta o comando ec2-get-password
.
Veja também:
- EC2 Windows - Obtenha a senha do administrador
- decifra a senha com o OpenSSL
- relatório de erros nos fóruns da AWS - por favor, entre em contato.