Konvertieren Sie den Amazon .pem-Schlüssel in den Putty .ppk-Schlüssel Linux


49

Ich habe einen privaten .pemSchlüssel von AWS generiert und heruntergeladen . Um Putty zum Herstellen einer Verbindung mit der virtuellen Maschine zu verwenden, muss dieser Schlüssel im .ppkFormat vorliegen. Der Konvertierungsprozess wird hier in ungefähr 20 Zeilen beschrieben:

Ich benutze Linux Mint (eine Ubuntu-Distribution) und ich weiß, dass ich puttygen im Terminal verwenden kann. Ich habe jedoch keine Ahnung, wie dieses Tool verwendet wird oder wie die erforderlichen Parameter konfiguriert werden. Wenn ich puttygen --help eingebe, bekomme ich

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'

Aber ich habe überhaupt keine Ahnung, wie ich das tun soll, was mir die Website vorschreibt, und alle meine Versuche sind bisher gescheitert.

Wie mache ich mit puttygen auf dem Terminal, was mir die Website vorschreibt?


Antworten:


70

Verwenden der GUI

In dieser SO-Frage und Antwort erfahren Sie, wie Sie genau das tun, was Sie möchten: Konvertieren Sie PEM in das PPK-Dateiformat .

Auszug

  1. Laden Sie Ihre .pem-Datei von AWS herunter
  2. Öffnen Sie PuTTYgen und wählen Sie den zu generierenden Schlüsseltyp aus: SSH-2 RSA
  3. Klicken Sie auf der rechten Seite etwa 3/4 nach unten auf "Laden"
  4. Stellen Sie den Dateityp auf *.*
  5. Navigieren Sie zu und öffnen Sie Ihre PEM-Datei
  6. PuTTY erkennt automatisch alles, was es benötigt, und Sie müssen nur auf "Privaten Schlüssel speichern" klicken und können Ihren ppk-Schlüssel für die Verwendung mit PuTTY speichern

Verwenden der Befehlszeile

Wenn Sie andererseits eine .pemin eine .ppkDatei über das Befehlszeilentool konvertieren möchten puttygen, ist mir diese Lösung auf SO in dieser Frage und Antwort mit dem Titel begegnet:

Auszug

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

Für den öffentlichen Schlüssel:

$ puttygen keyfile.pem -L

Verweise


Die Schritte 2 bis 6 funktionieren auch für andere private Schlüsseldateitypen (z. B. die aus einem Git Bash-Befehl ssh-keygen resultierende Datei). Danke!
AtAFork

funktioniert nicht mehr von der Kommandozeile
Aryeh Beitz

Irgendwelche Gedanken darüber, wie dies unter OSX funktionieren würde, ist PuTTYgen nicht verfügbar
Qasim

Wenn Sie dem privaten Schlüssel ein Passwort / eine Passphrase hinzufügen möchten, fügen Sie einfach hinzu -P. Eg puttygen k.pem -PO private -o k.ppk.
CPHPython

15

Wenn Sie GNU / Linux verwenden, müssen Sie Putty nicht verwenden. Dieser Teil des Tutorials richtet sich an Windows-Benutzer.

Setzen Sie einfach Ihre .pemDateiberechtigungen auf r--, chmod 400 mykey.pemund übergeben Sie sie direkt an ssh:

ssh -i mykey.pem user@aws-host.amazon.com 

Der Grund, warum ich versuche, Kitt zu verwenden, ist, dass ich den Anweisungen in diesem Plex-Tutorial folgen kann . Wenn es andere Möglichkeiten gibt, können Sie dies gerne erläutern.
Flame_Phoenix

Ihr Plex Media-Server befindet sich auf dem AWS-Computer und Sie versuchen, von Ihrer Mint-Workstation darauf zu tunneln. Verstehe ich das richtig? Sie sollten eine weitere Frage öffnen, die dies erklärt, aber es gibt bereits viele Fragen, die erklären, wie SSH-Tunneling durchgeführt wird.
François Feugeas

1
Mit dem von Ihnen erwähnten Befehl konnte ich mich bei der Remote-AWS-Instanz anmelden. Ich wollte eigentlich Dateien übertragen. Ich habe den Befehl verwendet (nur für den Fall, dass es jemandem hilft) sftp -oIdentityFile=mykey.pem user@<publicIP>. Danke. Ihr Beitrag hat mir geholfen, das Problem zu lösen, das ich seit mehr als 5 Stunden habe.
Subham Tripathi

0

Verwenden Sie den folgenden Befehl, der für mich in Ubuntu funktioniert hat

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

Beispiel

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


Dies ist bereits in der akzeptierten Antwort beschrieben. Sie brauchen dies nicht zu verwenden sudo, wenn Ihr aktueller Benutzer Schreibrechte im Ausgabeverzeichnis hat.
Stephen Kitt

Vielen Dank für Ihren Vorschlag @ Stephen Kitt
Thrinadhn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.