Comment configurer les clés SSH sur une machine Windows (client SSH) pour accéder à Azure Linux VM?

15

La recherche sur Google était infructueuse, car la plupart des gens ont une variation légèrement différente de ce problème.

J'essaie de configurer une machine virtuelle Linux Azure avec SSH (pas de mot de passe), pour l'accès à partir d'une machine Windows. MISE À JOUR 2018: L'exigence initiale était d'utiliser WinSCP mais je suis d'accord avec l'utilisation de Putty à la place (sur la machine Windows, qui est le client SSH).

Comment pouvez-vous configurer une machine virtuelle Linux Azure et générer les clés requises en utilisant le moins d'outils supplémentaires possible, sous Windows?

Alex R
la source
1
Les clés SSH ne sont que des clés, pas des certificats. Utilisez un outil comme xca pour créer des certificats.
LawrenceC

Réponses:

16

Vous devez d'abord obtenir la clé publique dans un format pour le authorized_keysfichier OpenSSH .


Une fois que vous avez obtenu la clé publique au authorized_keysformat, collez-la dans la zone "Clé publique SSH" , lors du provisionnement de la machine Azure Linux (ou lors de la réinitialisation de la clé publique):

entrez la description de l'image ici

Martin Prikryl
la source
1
Ça ne marche pas. Azure passe par les étapes initiales de la configuration de la machine virtuelle mais abandonne ensuite en se plaignant que la clé n'est pas compatible X.509.
Alex R
1
Ok, j'ai suivi les instructions sur azure.microsoft.com/en-us/documentation/articles/… et ils ont travaillé. Fondamentalement, vous exécutez "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". Le .pem doit être téléchargé via le portail Azure. (Je ne poste pas cela comme réponse parce que je l'ai fait sur mon Mac et l'affiche a demandé une solution Windows. La recherche sur Google indique qu'il existe des distributions OpenSSL pour Windows, mais je n'en ai pas essayé.)
Rohit Chatterjee
1
De plus, la clé privée générée dans mon commentaire ci-dessus - myPrivateKey.key - doit être importée dans PuttyGen et convertie en PPK. Putty n'utilisera pas le fichier .key.
Rohit Chatterjee
@RohitChatterjee C'était tout un malentendu. OP a posé des questions sur la clé privée (donnant l'impression qu'il souhaitait l'utiliser comme clé d'hôte), alors que la question portait en fait sur la clé publique. J'ai mis à jour ma réponse en conséquence.
Martin Prikryl
En fait, c'est encore un peu décalé car je voulais utiliser WinSCP, pas Putty. Je vais modifier la question une fois de plus pour que cette réponse soit correcte.
Alex R
2

La réponse correcte a été fournie dans les commentaires de @Rohit Chatterjee:

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

Explication:

Le portail Azure demande un PEM / CER dans le cadre du processus d'approvisionnement des machines virtuelles (bien que l'on puisse fournir un mot de passe à la place). PuttyGen crée un PEM à partir d'un PPK comme cette réponse le décrit, mais la sortie n'est pas acceptée par le portail. Si je comprends cela, je posterai une réponse ici ... - Rohit Chatterjee 29 janvier à 4:18

Ok, j'ai suivi les instructions sur azure.microsoft.com/en-us/documentation/articles/… et ils ont travaillé. Fondamentalement, vous exécutez "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". Le .pem doit être téléchargé via le portail Azure. (Je ne poste pas cela comme réponse parce que je l'ai fait sur mon Mac et l'affiche a demandé une solution Windows. La recherche sur Google indique que des distributions OpenSSL pour Windows existent, mais je n'en ai pas essayé.) - Rohit Chatterjee 29 janvier à 4:49

De plus, la clé privée générée dans mon commentaire ci-dessus - myPrivateKey.key - doit être importée dans PuttyGen et convertie en PPK. Putty n'utilisera pas le fichier .key. - Rohit Chatterjee 29 janvier à 4:51

Alex R
la source
0

Je vois que c'est une question plus ancienne, mais si vous utilisez Windows 10, il est maintenant possible de SSH à partir du sous-système Windows pour Linux. Pour cela, il suffit de configurer des clés comme vous le feriez dans Linux standard.

Charles Burge
la source