Conexión a una máquina virtual Linux

Al hospedar una máquina virtual Linux en Azure, el método más común para acceder a esa máquina virtual es a través del protocolo Secure Shell (SSH). Cualquier cliente SSH estándar que suele encontrarse en Linux y Windows le permite hacer la conexión. También puede usar Azure Cloud Shell desde cualquier explorador.

En este documento se describe cómo conectarse, mediante SSH, a una máquina virtual que tenga una dirección IP pública. Si necesita conectarse a una VM sin una IP pública, consulte Servicio Azure Bastion.

Requisitos previos

  • Necesita un par de claves SSH. Si aún no tiene un par de claves, Azure creará uno durante el proceso de implementación. Si necesita ayuda para crear una manualmente, consulte Creación y uso de un par de claves pública-privada SSH para máquinas virtuales Linux en Azure.

  • Necesita un grupo de seguridad de red (NSG) existente. De manera predeterminada, la mayoría de las VM tiene un grupo de seguridad de red. Si todavía no lo tiene, puede crear uno y adjuntarlo manualmente. Para más información, consulte Creación, modificación o eliminación de un grupo de seguridad de red .

  • Para conectarse a una VM Linux, el puerto adecuado debe estar abierto. Normalmente, SSH usa el puerto 22. En las instrucciones siguientes se supone que es el puerto 22, pero el proceso es el mismo para otros números de puerto. Puede asegurarse de que un puerto adecuado esté abierto para SSH mediante el solucionador de problemas o comprobando manualmente la configuración de la máquina virtual. Para comprobar si el puerto 22 está abierto:

    1. En la página de la máquina virtual, seleccione Redes en el menú izquierdo.

    2. En la página Redes, compruebe si hay una regla que permita TCP en el puerto 22 desde la dirección IP del equipo que está usando para conectarse a la máquina virtual. Si la regla existe, puede pasar a la sección siguiente.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. Si no hay ninguna regla, agregue una seleccionando Agregar regla de puerto de entrada.

    4. En Servicio, seleccione SSH en el menú desplegable.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. Edite Prioridad y Origen si es necesario.

    6. En Nombre, escriba SSH.

    7. Cuando finalice, seleccione Agregar.

    8. Ahora debería tener una regla SSH en la tabla de reglas del puerto de entrada.

  • La máquina virtual debe tener una dirección IP pública. Para comprobar si la máquina virtual tiene una dirección IP pública, seleccione Información general en el menú izquierdo y examine la sección Redes. Si ve una dirección IP junto a Dirección IP pública, la máquina virtual tiene una dirección IP pública.

    Si la máquina virtual no tiene una dirección IP pública, verá algo parecido a esto:

    Screenshot of how the networking section looks when you don't have a public I P.

    Para más información sobre cómo agregar una dirección IP pública a una máquina virtual existente, consulte Asociar una dirección IP pública a una máquina virtual.

  • Compruebe que la máquina virtual se esté ejecutando. En la pestaña Información general, en la sección Información esencial, compruebe que el estado de la máquina virtual sea Ejecutando. Para iniciar la máquina virtual, seleccione Iniciar en la parte superior de la página.

    Screenshot showing how to check to make sure your virtual machine is in the running state.

Si tiene problemas para conectarse, también puede usar el portal:

  1. Vaya a Azure Portal para conectarse a una máquina virtual. Busque y seleccione Máquinas virtuales.
  2. Seleccione la máquina virtual en la lista.
  3. Seleccione Conectar en el menú de la izquierda.
  4. Seleccione la opción que se ajuste a su forma preferida de conectarse. El portal le ayuda a recorrer los requisitos previos para conectarse.

Conexión a la máquina virtual

Una vez que cumpla con los requisitos previos mencionados, estará listo para conectarse a la VM. Abra el cliente SSH que desee. El comando de cliente SSH se suele incluir en Linux, macOS y Windows. Si usa Windows 7 o versiones anteriores (en las que Win32 OpenSSH no se incluye de manera predeterminada) considere la posibilidad de instalar WSL o usar Azure Cloud Shell desde el explorador.

Nota

En los ejemplos siguientes se supone que la clave SSH tiene el formato key.pem. Si ha utilizado la CLI o Azure PowerShell para descargar las claves, es posible que estén en el formato id_rsa.

SSH con un nuevo par de claves

  1. Asegúrese de que las claves públicas y privadas estén en el directorio correcto. Por lo general, el directorio es ~/.ssh.

    Si ha generado las claves manualmente o las ha generado con la CLI, es probable que las claves ya estén allí. Sin embargo, si las ha descargado en formato pem de Azure Portal, es posible que tenga que moverlas a la ubicación correcta. El traslado de las claves se realiza con la sintaxis siguiente: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    Por ejemplo, si la clave está en la carpeta Downloads y myKey.pem es el nombre de la clave SSH, escriba:

    mv /Downloads/myKey.pem ~/.ssh
    

    Nota:

    Si usa WSL, los archivos locales se encuentran en el directorio mnt/c/. En consecuencia, la ruta de acceso a la carpeta de descargas y la clave SSH sería /mnt/c/Users/{USERNAME}/Downloads/myKey.pem

  2. Para asegurarse de tener acceso de solo lectura a la clave privada, ejecute

    chmod 400 ~/.ssh/myKey.pem
    
  3. Ejecute el comando SSH con la sintaxis siguiente: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    Por ejemplo, si azureuser es el nombre de usuario que ha creado y 20.51.230.13 es la dirección IP pública de la máquina virtual, escriba:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. Asegúrese de la huella digital devuelta.

    Si nunca se ha conectado a esta máquina virtual, se le pedirá que verifique la huella digital de los anfitriones. Puede ser tentador tan solo aceptar la huella digital que se presenta, pero hacerlo le expone a posibles ataques de intermediarios. Debe validar siempre la huella digital del host. Solo debe hacerlo la primera vez que se conecta desde un cliente. Para obtener la huella digital del host a través de portal, utilice la característica Ejecutar comando para ejecutar el comando:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. ¡Hecho! Ahora se debe haber conectado a la máquina virtual. Si no se puede conectar, consulte Solución de problemas de conexiones SSH.

SSH con clave pública existente

  1. Ejecute el siguiente comando en el cliente de SSH. En este ejemplo, 20.51.230.13 es la dirección IP pública de la máquina virtual y azureuser es el nombre de usuario que creó al crear la máquina virtual.

    ssh azureuser@20.51.230.13
    
  2. Asegúrese de la huella digital devuelta.

    Si nunca se ha conectado a la máquina virtual deseada desde el cliente SSH actual, se le pedirá que compruebe la huella digital del host. Aunque la opción predeterminada es aceptar la huella digital presentada, esto le expone a un posible ataque de intermediario. Siempre debe validar la huella digital del host, proceso que solo debe realizarse la primera vez que se conecte el cliente. Para obtener la huella digital del host mediante el portal, use la característica Ejecutar comando para ejecutar el comando:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. ¡Hecho! Ahora se debe haber conectado a la máquina virtual. Si no se puede conectar, consulte nuestra guía para solucionar problemas.

Autenticación de contraseña

Advertencia

Este tipo de método de autenticación no es tan seguro como un par de claves SSH y no está recomendado.

  1. Ejecute el siguiente comando en el cliente de SSH. En este ejemplo, 20.51.230.13 es la dirección IP pública de la máquina virtual y azureuser es el nombre de usuario que creó al crear la máquina virtual.

    ssh azureuser@20.51.230.13
    

    Si ha olvidado la contraseña o el nombre de usuario, consulte el artículo sobre restablecimiento del acceso a una máquina virtual de Azure.

  2. Asegúrese de la huella digital devuelta.

    Si nunca se ha conectado a la máquina virtual deseada desde el cliente SSH actual, se le pedirá que compruebe la huella digital del host. Aunque la opción predeterminada es aceptar la huella digital presentada, esto le expone a un posible ataque de intermediario. Siempre debe validar la huella digital del host, proceso que solo debe realizarse la primera vez que se conecte el cliente. Para obtener la huella digital del host mediante el portal, use la característica Ejecutar comando para ejecutar el comando:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. ¡Hecho! Ahora se debe haber conectado a la máquina virtual. Si no se puede conectar, consulte Solución de problemas de conexiones SSH.

Pasos siguientes

Para más información sobre cómo transferir archivos a una máquina virtual existente, consulte Uso de SCP para mover archivos desde una máquina virtual y hacia allí.