Einrichten von SSH-Schlüsseln auf einem Windows-Computer (SSH-Client) für den Zugriff auf eine Azure Linux-VM

15

Googeln war erfolglos, da die meisten Menschen eine etwas andere Variante dieses Problems haben.

Ich versuche, eine Azure Linux-VM mit SSH (kein Kennwort) für den Zugriff von einem Windows-Computer aus einzurichten. 2018 UPDATE: Die ursprüngliche Anforderung war die Verwendung von WinSCP, aber ich kann stattdessen Putty verwenden (auf dem Windows-Computer, dem SSH-Client).

Wie können Sie unter Windows eine Azure Linux-VM einrichten und die erforderlichen Schlüssel mit möglichst wenigen zusätzlichen Tools generieren?

Alex R
quelle
1
SSH-Schlüssel sind nur Schlüssel, keine Zertifikate. Verwenden Sie ein Tool wie xca, um Zertifikate zu erstellen.
LawrenceC

Antworten:

16

Zuerst müssen Sie den öffentlichen Schlüssel in einem Format für die OpenSSH- authorized_keysDatei erhalten.


Wenn Sie den öffentlichen Schlüssel im authorized_keysFormat erhalten haben, fügen Sie ihn in das Feld "Öffentlicher SSH-Schlüssel" ein , wenn Sie einen Azure Linux-Computer bereitstellen (oder wenn Sie den öffentlichen Schlüssel zurücksetzen):

Bildbeschreibung hier eingeben

Martin Prikryl
quelle
1
Das geht nicht Azure durchläuft die Anfangsphasen der VM-Einrichtung, bricht dann jedoch ab und beschwert sich, dass der Schlüssel nicht X.509-kompatibel ist.
Alex R
1
Ok, ich habe die Anweisungen unter azure.microsoft.com/en-us/documentation/articles/… befolgt und sie haben funktioniert. Grundsätzlich führen Sie "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem" aus. Die PEM-Datei muss über das Azure-Portal hochgeladen werden. (Ich poste dies nicht als Antwort, weil ich es auf meinem Mac getan habe und das Poster nach einer Windows-Lösung fragte. Googeln zeigt an, dass OpenSSL-Distributionen für Windows existieren, aber ich habe keine ausprobiert.)
Rohit Chatterjee,
1
Außerdem muss der in meinem Kommentar oben generierte private Schlüssel - myPrivateKey.key - in PuttyGen importiert und in ein PPK konvertiert werden. Putty verwendet die .key-Datei nicht.
Rohit Chatterjee
@RohitChatterjee Das war alles ein Missverständnis. OP fragte nach dem privaten Schlüssel (was den Eindruck erweckte, er wolle ihn als Host-Schlüssel verwenden), während es sich eigentlich um den öffentlichen Schlüssel handelte. Ich habe meine Antwort entsprechend aktualisiert.
Martin Prikryl
Eigentlich ist das noch ein bisschen abwegig, da ich WinSCP verwenden wollte, nicht Putty. Ich werde die Frage noch einmal bearbeiten, um diese Antwort zu korrigieren.
Alex R
2

Die richtige Antwort wurde in den Kommentaren von @Rohit Chatterjee gegeben:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem

Erläuterung:

Das Azure-Portal fordert im Rahmen des VM-Bereitstellungsprozesses eine PEM / CER an (obwohl stattdessen ein Kennwort angegeben werden kann). PuttyGen erstellt eine PEM aus einem PPK, da diese Antwort beschrieben wird, aber die Ausgabe wird vom Portal nicht akzeptiert. Wenn ich das herausfinde, werde ich hier eine Antwort posten ... - Rohit Chatterjee 29. Januar um 4:18 1 up abgestimmt

Ok, ich habe die Anweisungen unter azure.microsoft.com/en-us/documentation/articles/… befolgt und sie haben funktioniert. Grundsätzlich führen Sie "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem" aus. Die PEM-Datei muss über das Azure-Portal hochgeladen werden. (Ich poste dies nicht als Antwort, weil ich es auf meinem Mac getan habe und das Poster nach einer Windows-Lösung fragte. Googeln zeigt an, dass OpenSSL-Distributionen für Windows existieren, aber ich habe keine ausprobiert.) - Rohit Chatterjee, 29. Januar um 4:49

Außerdem muss der in meinem Kommentar oben generierte private Schlüssel - myPrivateKey.key - in PuttyGen importiert und in ein PPK konvertiert werden. Putty verwendet die .key-Datei nicht. - Rohit Chatterjee 29. Januar um 4:51

Alex R
quelle
0

Ich sehe, dass dies eine ältere Frage ist, aber wenn Sie Windows 10 verwenden, ist es jetzt möglich, SSH vom Windows-Subsystem für Linux aus auszuführen. Richten Sie dafür einfach die Schlüssel ein, wie Sie es unter normalem Linux tun würden.

Charles Burge
quelle