¿Cómo configurar SSH Keys en la máquina Windows (Cliente SSH) para acceder a Azure Linux VM?

15

Buscar en Google fue infructuoso, ya que la mayoría de las personas tienen una variación ligeramente diferente de este problema.

Estoy tratando de configurar una máquina virtual Linux de Azure con SSH (sin contraseña), para acceder desde una máquina con Windows. ACTUALIZACIÓN 2018: El requisito original era usar WinSCP, pero estoy de acuerdo con usar Putty en su lugar (en la máquina Windows, que es el Cliente SSH).

¿Cómo puede configurar una máquina virtual Linux de Azure y generar las claves necesarias utilizando la menor cantidad posible de herramientas adicionales en Windows?

Alex R
fuente
1
Las claves SSH son solo claves, no certificados. Use una herramienta como xca para hacer certificados.
LawrenceC

Respuestas:

16

Primero necesita obtener la clave pública en un formato para el authorized_keysarchivo OpenSSH .


Una vez que obtenga la clave pública en el authorized_keysformato, péguela en el cuadro "Clave pública SSH" , al aprovisionar la máquina Azure Linux (o al restablecer la clave pública):

ingrese la descripción de la imagen aquí

Martin Prikryl
fuente
1
Eso no funciona Azure pasa por las etapas iniciales de la configuración de la máquina virtual, pero luego aborta quejándose de que la clave no es compatible con X.509.
Alex R
1
Ok, seguí las instrucciones en azure.microsoft.com/en-us/documentation/articles/… y funcionaron. Básicamente ejecuta "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". El .pem debe cargarse a través del portal de Azure. (No publico esto como respuesta porque lo hice en mi Mac, y el póster pedía una solución de Windows. Google indica que existen distribuciones de OpenSSL para Windows, pero no he probado ninguna.)
Rohit Chatterjee
1
Además, la clave privada generada en mi comentario anterior, myPrivateKey.key, debe importarse a PuttyGen y convertirse en un PPK. Putty no usará el archivo .key.
Rohit Chatterjee
@RohitChatterjee Eso fue todo un malentendido. OP preguntó acerca de la clave privada (dando la impresión de que quiere usarla como clave de host), mientras que la pregunta era en realidad sobre la clave pública. He actualizado mi respuesta en consecuencia.
Martin Prikryl
En realidad, esto todavía está un poco apagado ya que quería usar WinSCP, no Putty. Voy a editar la pregunta una vez más para que esta respuesta sea correcta.
Alex R
2

La respuesta correcta fue proporcionada en los comentarios de @Rohit Chatterjee:

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

Explicación:

Azure Portal solicita un PEM / CER como parte del proceso de aprovisionamiento de VM (aunque en su lugar se puede proporcionar una contraseña). PuttyGen crea un PEM a partir de un PPK como lo describe esta respuesta, pero el portal no acepta la salida. Si descubro esto, publicaré una respuesta aquí ... - Rohit Chatterjee 29 de enero a las 4:18 1 votado

Ok, seguí las instrucciones en azure.microsoft.com/en-us/documentation/articles/… y funcionaron. Básicamente ejecuta "openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout myPrivateKey.key -out myCert.pem". El .pem debe cargarse a través del portal de Azure. (No publico esto como respuesta porque lo hice en mi Mac, y el póster pedía una solución de Windows. Google indica que existen distribuciones de OpenSSL para Windows, pero no he probado ninguna.) - Rohit Chatterjee 29 de enero a las 4:49

Además, la clave privada generada en mi comentario anterior, myPrivateKey.key, debe importarse a PuttyGen y convertirse en un PPK. Putty no usará el archivo .key. - Rohit Chatterjee 29 de enero a las 4:51

Alex R
fuente
0

Veo que esta es una pregunta anterior, pero si está utilizando Windows 10, ahora es posible SSH desde el Subsistema de Windows para Linux. Para eso, solo configure las teclas como lo haría en Linux normal.

Charles Burge
fuente