Jak skonfigurować klucze SSH na komputerze z systemem Windows (klient SSH), aby uzyskać dostęp do maszyny Wirtualnej systemu Linux Azure?


15

Googling był bezowocny, ponieważ większość ludzi ma nieco inną odmianę tego problemu.

Usiłuję skonfigurować maszynę Wirtualną systemu Linux Azure z SSH (bez hasła), aby uzyskać dostęp z komputera z systemem Windows. AKTUALIZACJA 2018: Pierwotnym wymaganiem było użycie WinSCP, ale nie mam nic przeciwko użyciu Putty (na komputerze z systemem Windows, który jest klientem SSH).

Jak skonfigurować maszynę wirtualną z systemem Linux Azure i wygenerować wymagane klucze przy użyciu jak najmniejszej liczby dodatkowych narzędzi w systemie Windows?


1
Klucze SSH to tylko klucze, a nie certyfikaty. Do tworzenia certyfikatów użyj narzędzia takiego jak xca.
LawrenceC,

Odpowiedzi:


16

Najpierw potrzebujesz klucza publicznego w formacie authorized_keyspliku OpenSSH .


Po uzyskaniu klucza publicznego w authorized_keysformacie wklej go w polu „Klucz publiczny SSH” podczas udostępniania maszyny Azure Linux (lub podczas resetowania klucza publicznego):

wprowadź opis zdjęcia tutaj


1
To nie działa. Azure przechodzi przez początkowe etapy konfiguracji maszyny wirtualnej, ale następnie przerywa narzekanie, że klucz nie jest zgodny z X.509.
Alex R

1
Ok, postępowałem zgodnie z instrukcjami na stronie azure.microsoft.com/en-us/documentation/articles/... i zadziałały. Zasadniczo uruchamiasz „openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem”. Plik .pem musi zostać przesłany za pośrednictwem portalu Azure. (Nie zamieszczam tego jako odpowiedzi, ponieważ zrobiłem to na komputerze Mac, a plakat poprosił o rozwiązanie dla systemu Windows. Googling wskazuje, że istnieją dystrybucje OpenSSL dla systemu Windows, ale nie próbowałem żadnego.)
Rohit Chatterjee

1
Ponadto klucz prywatny wygenerowany w powyższym komentarzu - myPrivateKey.key - musi zostać zaimportowany do PuttyGen i przekonwertowany na PPK. Putty nie będzie używać pliku .key.
Rohit Chatterjee

@RohitChatterjee To wszystko było nieporozumienie. OP zapytał o klucz prywatny (sprawiając wrażenie, że chce go użyć jako klucza hosta), podczas gdy pytanie dotyczyło klucza publicznego. Zaktualizowałem odpowiednio swoją odpowiedź.
Martin Prikryl

Właściwie to wciąż trochę nie w porządku, ponieważ chciałem używać WinSCP, a nie Putty. Będę ponownie edytować pytanie, aby ta odpowiedź była poprawna.
Alex R

2

Prawidłowa odpowiedź została podana w komentarzach @Rohit Chatterjee:

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

Wyjaśnienie:

Portal Azure prosi o PEM / CER w ramach procesu udostępniania maszyny wirtualnej (choć zamiast tego można podać hasło). PuttyGen tworzy PEM z PPK, gdy ta odpowiedź jest opisana, ale dane wyjściowe nie są akceptowane przez portal. Jeśli to rozwiążę, opublikuję odpowiedź tutaj ... - Rohit Chatterjee 29 stycznia o 4:18 1 głosowane

Ok, postępowałem zgodnie z instrukcjami na stronie azure.microsoft.com/en-us/documentation/articles/... i zadziałały. Zasadniczo uruchamiasz „openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem”. Plik .pem musi zostać przesłany za pośrednictwem portalu Azure. (Nie zamieszczam tego jako odpowiedzi, ponieważ zrobiłem to na komputerze Mac, a plakat poprosił o rozwiązanie dla systemu Windows. Googling wskazuje, że istnieją dystrybucje OpenSSL dla systemu Windows, ale nie próbowałem żadnego.) - Rohit Chatterjee 29 stycznia o 4:49

Ponadto klucz prywatny wygenerowany w powyższym komentarzu - myPrivateKey.key - musi zostać zaimportowany do PuttyGen i przekonwertowany na PPK. Putty nie będzie używać pliku .key. - Rohit Chatterjee 29 stycznia o 4:51


0

Widzę, że to starsze pytanie, ale jeśli używasz systemu Windows 10, można teraz korzystać z SSH z Podsystemu Windows dla systemu Linux. W tym celu wystarczy skonfigurować klucze, tak jak w zwykłym systemie Linux.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.