Utworzyłem nową instancję Windows na AWS EC2, używając pary kluczy, którą utworzyłem, przesyłając mój klucz publiczny z mojego komputera lokalnego.
Instancja uruchomiła się dobrze, ale nie odszyfruje hasła. Raportuje:
Jestem pewien, że przesłałem prawidłowy klucz. Sprawdziłem, że odciski palców pasują do dziwnego formatu odcisków palców używanego przez AWS . Ale to po prostu się nie odszyfrowuje.
Próbowałem załadować plik klucza i wkleić go do formularza.
W końcu doszedłem do wniosku, że nie usuwa on nowej linii i usunąłem pustą linię w kluczu. To powoduje, że po kliknięciu „Odszyfruj hasło” pojawia się nowy błąd:
źródło
aws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key}
(używa aws-cli i jq ).-d
więc-D
działa dla mnie. im w OS Xaws ec2 get-password-data "--instance-id=${instance_id}" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey ${my_key} | pbcopy
... który wysyła hasło prosto do twojego schowka.Bez użycia jq jest to nadal możliwe, ale wymaga dodatkowej analizy składni zwróconych danych.
źródło
base64 -d
raczej użyć-D
.Oto, co działało dla mnie w macOS:
openssl rsa -in $HOME/.ssh/aws-remote -out /Users/home/desktop/unencrypted-rsa.txt
Warto zauważyć, że możesz stwierdzić, czy plik .pem jest zaszyfrowany hasłem, szukając następującego wiersza. Jeśli jest obecny, musisz go odszyfrować przed użyciem go z Amazon:
źródło
Na moim komputerze Mac argumenty wiersza polecenia dla base64 są różne.
To działało dla mnie:
źródło
to zadziała
źródło