SSH: Ich habe einen privaten * .pem-Schlüssel. Wie erstelle ich eine SSH-Verbindung damit?

7

Ich habe auch versucht, Kitt zu verwenden. Ich wähle diesen pemSchlüssel dort und habe diesen:

Unable to use key file "key.pem" (not a private key).

Ich habe gelesen, dass es möglich ist, a pemin einen pubSchlüssel umzuwandeln . Ich habe es dort so gemacht:

  1. Konvertieren Sie den PEM-Schlüssel in das ssh-rsa-Format

  2. Wie kann ich einen PEM-Schlüssel in ein RSA-Schlüsselpaar konvertieren?

Aber ich habe den gleichen Fehler beim Versuch, eine Verbindung herzustellen.

Anthony
quelle
3
Es würde wahrscheinlich helfen, wenn Sie den "gleichen Fehler" posten würden, den Sie erhalten haben. /var/log/auth.logFügen Sie der Frage nach Möglichkeit auch einen Auszug aus dem SSH-Protokoll hinzu (normalerweise ; wenn Sie über Administratorrechte auf dem Server verfügen, versuchen Sie, die Ausführlichkeit der SSH-Protokollierung zu erhöhen, während Sie gerade dabei sind). Helfen Sie uns, Ihnen zu helfen.
Shadur
2
Warum versuchst du das auch? Das Generieren eines SSH-Schlüsselpaars aus einem vorhandenen Schlüssel hat nur einen geringen Vorteil gegenüber dem Generieren eines neuen Schlüsselpaars.
Larsks
Können Sie die Ausgabe von bereitstellen file key.pem(dies ist ein * nix-Befehl, kein Windows).
Patrick

Antworten:

5

(Teilweise Antwort, aber zu viele Links für einen vernünftigen Kommentar.)

putty verwendet kein PEM-Format (wie OpenSSL und OpenSSH), sondern ein eigenes PPK- Format . Führen Sie puttygen aus und es kann einen privaten Schlüssel von PEM laden (oder importieren ) und in PPK speichern. Teilweise Betrug von:

Kann ich einen SSH-Schlüssel verwenden, der unter Linux von Putty generiert wurde?

Welcher Unterschied zwischen openssh key und putty key?

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

/programming/3190667/convert-pem-to-ppk-file-format

dave_thompson_085
quelle
0

Das PEMFormat kann mehr als einen Schlüssel enthalten. Oft sind mehr als ein öffentlicher Schlüssel oder ein Schlüsselpaar miteinander verbunden. Für ssh haben Sie ein Schlüsselpaar, id_rsadas den privaten Schlüssel im PEMFormat hat. id_rsa.pubist Ihr öffentlicher Schlüssel.

Es ist nicht möglich, einen privaten Schlüssel in einen öffentlichen Schlüssel umzuwandeln, außer bei Brute-Force-Hacking. Um mit den Schlüsseln eine Verbindung zu einem anderen Host herzustellen, müssen Sie Ihren öffentlichen Schlüssel mithilfe von auf einen anderen Host kopieren ssh-copy-id. Der sshdServer sollte PubkeyAuthenticationaktiviert sein.


quelle
1
"Es ist nicht möglich, einen privaten Schlüssel in einen öffentlichen Schlüssel umzuwandeln". Das ist nicht wahr:ssh-keygen -f ~/.ssh/id_rsa -y
Patrick
Nun, das ist eine "private OpenSSH-Formatdatei", die den privaten und den öffentlichen Schlüssel enthält, sodass Sie dort nichts konvertieren. Ich habe geschrieben, dass ein PEM-Format mehr als einen Schlüssel enthalten kann. Sie ziehen einfach den anderen Schlüssel aus der Datei.
1
Das sollten Sie in Ihrer Antwort klarstellen. Das allerletzte, worüber Sie vor diesem Satz sprechen, ist id_rsa und id_rsa.pub.
Patrick
-1

In der .pem gibt es einen Abschnitt für den privaten Schlüssel. Sie können diesen einfach nehmen und in eine .key-Datei einfügen (der andere Abschnitt würde in Ihre .crt-Datei aufgenommen werden). Dann haben Sie Ihre .crt- und Ihre .key-Datei. Ich habe keine Ahnung, ob Sie diese .key mit ssh verwenden können. Ich verstehe nicht, warum nicht. Versuchen Sie einfach, sie entsprechend zu benennen

cat blah.key > ~/.ssh/id_rsa
cat blah.crt > ~/.ssh/id_rsa.pub

Kopieren Sie es in die Fernbedienung und

cat id_rsa.pub >> ~/.ssh/authorized_keys
driz
quelle
SSH verwendet keine Zertifikate und das OpenSSH .pub-Format ist überhaupt nicht PEM. Es ist möglich, den Pubkey mit openssl als PEM aus dem X.509-Zertifikat zu extrahieren und ihn dann per stackoverflow.com/questions/1011572/… in openssh zu konvertieren. Da Sie jedoch den privaten Schlüssel haben, ist es viel einfacher, ihn nur mit ssh-keygen zu extrahieren -y.
dave_thompson_085
-1

Die PEM-Datei ist wahrscheinlich ein SSL-Zertifikat - dies ist etwas anderes als der OpenSh-Schlüssel.

Also - du kannst es nicht benutzen.

undefinieren
quelle