von Puttygen generierte öffentliche Schlüssel in einer Unix-Umgebung verwenden?

von Puttygen generierte öffentliche Schlüssel in einer Unix-Umgebung verwenden?

Mögliches Duplikat:
Wie konvertiere ich einen .ppk-Schlüssel *unter Linux* in einen OpenSSH-Schlüssel?

(Unix, hier: Ubuntu 10.4)

Ich weiß, wie man SSH-Schlüsselpaare in Unix erstellt (ssh-keygen) und wie das in Windows geht (puttygen). Der fehlende Teil in meinem Fall wäre, wie man ein in Windows generiertes Schlüsselpaar (puttygen) in einer Unix-Shell verwendet.

wo muss ich in diesem speziellen Fall den öffentlichen Schlüssel ablegen, um ihn als SSH-Schlüssel in Git zu verwenden?

Antwort1

Je nachdem welchen Schlüssel du brauchst...

Privater Schlüssel – zum Einloggenausein Unix-System in ein anderes Unix

Sie müssen den Schlüssel zunächst mit PuTTYgen vom PuTTY-Format in ein für OpenSSH geeignetes Format konvertieren.

  • In der Windows-Version von PuTTYgen verwenden Sie dieKonvertierungen → OpenSSH-Schlüssel exportierenMenüpunkt;

  • in der Linux-Version, puttygen mykey.ppk -O private-openssh -o mykey.

Nur öffentlicher Schlüssel – für die Anmeldung unter WindowsZuUnix

Siehe Daniels Antwort.

Antwort2

Das Puttygen-Fenster enthält einen Textbereich mit dem öffentlichen Schlüssel im von SSH erwarteten Format.

Kopieren Sie es und fügen Sie es ~/.ssh/authorized_keysin einer eigenen Zeile der Datei auf dem Server hinzu. Stellen Sie sicher, dass die Datei und das Verzeichnis von der Gruppe und anderen nicht gelesen/beschrieben werden können, z. B. mit „run“ chmod go-rwx ~/.ssh ~/.ssh/authorized_keys.

Anschließend akzeptiert der Server Ihre Anmeldung und verwendet zur Authentifizierung den privaten Schlüssel.

Antwort3

Ok, ich glaube, ich habe mich nicht ganz klar ausgedrückt, aber ich habe die Lösung gefunden:

  1. Puttygen starten
  2. Privaten Schlüssel laden
  3. Menü Konvertierungen|OpenSSH-Schlüssel exportieren
  4. Irgendwo speichern, öffnen, Inhalt in die Zwischenablage kopieren, unter Linux in Datei einfügen: $HOME/.ssh/id_dsa
  5. (optional) Inhalt des Textbereichs „Öffentlicher Schlüssel zum Einfügen in die OpenSSH-Datei authorized_keys“ kopieren und unter Linux in die Datei $HOME/.ssh/id_dsa.pub einfügen.

Sie können diesen SSH-Schlüssel jetzt von einer Shell aus verwenden, um sich bei Remote-Systemen anzumelden.

Randbemerkung: Um Git nahtlos von Windows Putty in einer Linux-Shell aus zu verwenden und eine Verbindung zu Git herzustellen, legen Sie diese Optionen in der Putty-Sitzung fest:

Bildbeschreibung hier eingeben

(und Sie müssen den öffentlichen Schlüssel natürlich in ~/.ssh/authorized_keys einfügen.)

verwandte Informationen