Konwertuj klucz Amazon .pem na Putty .ppk klucz Linux

49

Wygenerowałem i pobrałem .pemklucz prywatny z AWS. Jednak aby użyć Putty do połączenia z maszyną wirtualną, muszę mieć ten klucz w .ppkformacie. Proces konwersji opisano szczegółowo w około 20 wierszach:

Używam Linux Mint (dystrybucja Ubuntu) i wiem, że mogę używać puttygen w terminalu. Nie mam jednak pojęcia, jak korzystać z tego narzędzia ani jak konfigurować wymaganych parametrów. Kiedy piszę puttygen - pomagam

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

Ale nie mam pojęcia, jak zrobić to, co nakazuje mi strona internetowa, i jak dotąd zawiodły wszystkie moje wątpliwości.

Jak mam zrobić to, co nakazuje mi strona internetowa, używając puttygen na terminalu?

Flame_Phoenix
źródło

Odpowiedzi:

70

Korzystanie z GUI

Zapoznaj się z poniższymi pytaniami i odpowiedziami na temat robienia dokładnie tego, co chcesz, zatytułowanego: Konwertuj PEM do formatu pliku PPK .

fragment

  1. Pobierz .pem z AWS
  2. Otwórz PuTTYgen, wybierz Typ klucza do wygenerowania jako: SSH-2 RSA
  3. Kliknij „Załaduj” po prawej stronie około 3/4 w dół
  4. Ustaw typ pliku na *.*
  5. Wyszukaj i otwórz plik .pem
  6. PuTTY automatycznie wykryje wszystko, czego potrzebuje, wystarczy kliknąć „Zapisz klucz prywatny” i możesz zapisać swój klucz ppk do użytku z PuTTY

Za pomocą wiersza polecenia

Jeśli natomiast chcesz przekonwertować plik .pemna .ppkplik za pomocą narzędzia wiersza polecenia puttygen, natknąłem się na to rozwiązanie na SO w tym pytaniu zatytułowanym:

fragment

$ puttygen keyfile.pem -O private -o avdev.ppk

W przypadku klucza publicznego:

$ puttygen keyfile.pem -L

Bibliografia

slm
źródło
kroki od 2 do 6 działają także w przypadku innych typów plików kluczy prywatnych (np. pliku wynikowego z polecenia ssh-keygen Git Bash), dzięki!
AtAFork
już nie działa z wiersza poleceń
Aryeh Beitz
Wszelkie przemyślenia na temat tego, jak to będzie działać na OSX, PuTTYgen nie jest dostępne
Qasim
Jeśli chcesz dodać hasło / hasło do klucza prywatnego, po prostu dodaj -P. Np puttygen k.pem -PO private -o k.ppk.
CPHPython
15

Jeśli używasz GNU / Linux, nie musisz używać Putty. Ta część samouczka jest skierowana do użytkowników systemu Windows.

Po prostu ustaw swoje .pemuprawnienia do plików r--, robiąc chmod 400 mykey.pemto, a następnie możesz przekazać je bezpośrednio do ssh:

ssh -i mykey.pem [email protected] 
François Feugeas
źródło
Powodem, dla którego próbuję użyć szpachli jest to, że mogę postępować zgodnie z instrukcjami zawartymi w tym samouczku dotyczącym pleksa . Jeśli są na to inne sposoby, prosimy o wyjaśnienie.
Flame_Phoenix
Twój serwer Plex Media znajduje się na maszynie AWS i próbujesz do niego przejść ze stacji roboczej Mint, czy mam rację? Powinieneś otworzyć kolejne pytanie wyjaśniające to, ale jest już wiele pytań wyjaśniających, jak wykonać tunelowanie SSH.
François Feugeas
1
Za pomocą wspomnianego polecenia mogłem zalogować się do zdalnej instancji AWS. Naprawdę chciałem przesłać pliki, których użyłem polecenia (na wypadek, gdyby to komuś pomogło) sftp -oIdentityFile=mykey.pem user@<publicIP>... dzięki temu twój post pomógł mi rozwiązać problem, który miałem przez ponad 5 godzin.
Subham Tripathi
0

użyj poniższego polecenia, które zadziałało dla mnie w Ubuntu

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

Przykład

puttygen pemKey.pem -o ppkKey.ppk -O private

thrinadhn
źródło
Jest to już opisane w zaakceptowanej odpowiedzi. Nie musisz tego używać sudo, jeśli bieżący użytkownik ma uprawnienia do zapisu w katalogu wyjściowym.
Stephen Kitt,
Dzięki za sugestię @Stephen kitt
thrinadhn