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_keys
in 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:
- Puttygen starten
- Privaten Schlüssel laden
- Menü Konvertierungen|OpenSSH-Schlüssel exportieren
- Irgendwo speichern, öffnen, Inhalt in die Zwischenablage kopieren, unter Linux in Datei einfügen: $HOME/.ssh/id_dsa
- (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:
(und Sie müssen den öffentlichen Schlüssel natürlich in ~/.ssh/authorized_keys einfügen.)