Come impostare le chiavi SSH sul computer Windows (client SSH) per accedere alla VM di Azure Linux?


15

Googling è stato inutile, poiché la maggior parte delle persone ha una variazione leggermente diversa di questo problema.

Sto cercando di configurare una macchina virtuale Linux di Azure con SSH (senza password), per l'accesso da un computer Windows. AGGIORNAMENTO 2018: il requisito originale era di utilizzare WinSCP ma sono d'accordo con l'utilizzo di Putty (sul computer Windows, che è il client SSH).

Come è possibile configurare una macchina virtuale Linux di Azure e generare le chiavi richieste usando il minor numero di strumenti aggiuntivi possibile, su Windows?


1
Le chiavi SSH sono solo chiavi, non certificati. Utilizzare uno strumento come xca per creare certificati.
LawrenceC,

Risposte:


16

Per prima cosa devi ottenere la chiave pubblica in un formato per il authorized_keysfile OpenSSH .


Una volta ottenuta la chiave pubblica nel authorized_keysformato, incollala nella casella "Chiave pubblica SSH" , quando esegui il provisioning della macchina Azure Linux (o quando ripristini la chiave pubblica):

inserisci qui la descrizione dell'immagine


1
Non funziona Azure passa attraverso le fasi iniziali dell'installazione della VM, ma smette di lamentarsi del fatto che la chiave non è conforme a X.509.
Alex R

1
Ok, ho seguito le istruzioni su azure.microsoft.com/en-us/documentation/articles/… e hanno funzionato. Fondamentalmente si esegue "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". Il .pem deve essere caricato tramite il portale di Azure. (Non sto pubblicando questo come risposta perché l'ho fatto sul mio Mac e il poster ha chiesto una soluzione per Windows. Googling indica che esistono distribuzioni OpenSSL per Windows, ma non ne ho provato nessuno.)
Rohit Chatterjee

1
Inoltre, la chiave privata generata nel mio commento sopra - myPrivateKey.key - deve essere importata in PuttyGen e convertita in PPK. Putty non utilizzerà il file .key.
Rohit Chatterjee,

@RohitChatterjee È stato un malinteso. OP ha chiesto la chiave privata (dando l'impressione di volerla utilizzare come chiave host), mentre la domanda riguardava effettivamente la chiave pubblica. Ho aggiornato la mia risposta di conseguenza.
Martin Prikryl,

In realtà questo è ancora un po 'fuori perché volevo usare WinSCP, non Putty. Ho intenzione di modificare la domanda ancora una volta per rendere corretta questa risposta.
Alex R

2

La risposta corretta è stata fornita nei commenti di @Rohit Chatterjee:

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

Spiegazione:

Il portale di Azure richiede un PEM / CER come parte del processo di provisioning della macchina virtuale (sebbene si possa fornire una password). PuttyGen crea un PEM da un PPK come indica questa risposta, ma l'output non è accettato dal portale. Se lo capissi, posterò una risposta qui ... - Rohit Chatterjee, 29 gennaio alle 4:18 1 voto in alto

Ok, ho seguito le istruzioni su azure.microsoft.com/en-us/documentation/articles/… e hanno funzionato. Fondamentalmente si esegue "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". Il .pem deve essere caricato tramite il portale di Azure. (Non sto pubblicando questo come risposta perché l'ho fatto sul mio Mac e il poster ha chiesto una soluzione per Windows. Googling indica che esistono distribuzioni OpenSSL per Windows, ma non ne ho provato nessuno.) - Rohit Chatterjee 29 gennaio alle 4:49

Inoltre, la chiave privata generata nel mio commento sopra - myPrivateKey.key - deve essere importata in PuttyGen e convertita in PPK. Putty non utilizzerà il file .key. - Rohit Chatterjee, 29 gennaio alle 4:51


0

Vedo che questa è una domanda più vecchia, ma se stai usando Windows 10, ora è possibile SSH dal sottosistema Windows per Linux. Per questo, basta impostare le chiavi come faresti in un normale Linux.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.