Pasos detallados de solución de problemas de SSH para los problemas de conexión a una máquina virtual Linux en Azure
Se aplica a: ✔️ Máquinas virtuales Linux
Hay muchas razones posibles por las que el cliente SSH podría no ser capaz de ponerse en contacto con el servicio SSH en la máquina virtual. Si ha seguido los pasos más generales de solución de problemas de SSH, debe solucionar además el problema de conexión. Este artículo le guiará por los pasos de solución de problemas detallados para determinar dónde se producen errores en la conexión SSH y cómo resolverlos.
Pasos previos
El siguiente diagrama muestra los componentes que intervienen.
Los siguientes pasos ayudan a aislar la causa del error y a averiguar soluciones o alternativas.
Compruebe el estado de la máquina virtual en el portal. En Azure Portal, seleccione Máquinas virtuales>Nombre de máquina virtual.
El panel de estado de la máquina virtual debe mostrar En ejecución. Desplácese hacia abajo para ver la actividad reciente de los recursos de proceso, almacenamiento y de red.
Seleccione Configuración para examinar los puntos de conexión, las direcciones IP, los grupos de seguridad de red y otros valores de configuración.
La máquina virtual debe tener un punto de conexión definido para el tráfico SSH que puede ver en Puntos de conexión o en Grupo de seguridad de red. Los puntos de conexión en las máquinas virtuales que se crearon con Resource Manager se almacenan en un grupo de seguridad de red. Compruebe que las reglas se hayan aplicado al grupo de seguridad de red y que se haga referencia a ellas en la subred.
Para comprobar la conectividad de red, compruebe los puntos de conexión configurados y vea si puede conectarse con la máquina virtual a través de otro protocolo, como HTTP u otro servicio.
Después de realizar estos pasos, vuelva a intentar la conexión a SSH.
Averiguar el origen del problema
El cliente de SSH de su equipo podría generar un error al conectarse con el servicio de SSH en la máquina virtual de Azure debido a problemas o errores de configuración en las siguientes áreas:
- Equipo cliente de SSH
- Dispositivo perimetral de la organización
- Grupos de seguridad de red
- Máquina virtual de Azure basada en Linux
Causa 1: Equipo cliente de SSH
Para descartar el equipo como causa del error, compruebe que puede establecer conexiones a SSH con otro equipo local basado en Linux.
Si la conexión falla, compruebe si el equipo tiene los siguientes errores:
- Una configuración del firewall local que está bloqueando el tráfico SSH entrante o saliente (TCP 22)
- Software de proxy de cliente instalado localmente que impide las conexiones a SSH
- Software de supervisión de red instalado localmente que impide las conexiones a SSH
- Otro tipo de software de seguridad que o bien, supervisar el tráfico o bien, permite o impide ciertos tipos de tráfico.
Si alguna de estas condiciones es aplicable, deshabilite el software temporalmente e intente una conexión SSH a un equipo local para averiguar el motivo de que la conexión esté bloqueada en su equipo. Después, colabore con el administrador de red para corregir la configuración del software a fin de permitir conexiones SSH.
Si utiliza la autenticación de certificados, compruebe que dispone de estos permisos a la carpeta .ssh en el directorio principal:
- Chmod 700 ~/.ssh
- Chmod 644 ~/.ssh/*.pub
- Chmod 600 ~/.ssh/id_rsa (o cualquier otro archivo en el que tenga almacenadas las claves privadas)
- Chmod 644 ~/.ssh/known_hosts (contiene los hosts a los que se ha conectado a través de SSH)
Causa 2: Dispositivo perimetral de la organización
Para descartar el dispositivo perimetral de la organización como causa de los errores, compruebe que un equipo conectado directamente a Internet puede establecer conexiones a SSH con la máquina virtual de Azure. Si tiene acceso a la máquina virtual a través de una VPN de sitio a sitio o una conexión de Azure ExpressRoute, vaya a Origen 3: Grupos de seguridad de red.
Si no tiene un equipo conectado directamente a Internet, cree una nueva máquina virtual de Azure en su propio grupo de recursos o servicio en la nube y úsela. Para más información, consulte Creación de una máquina virtual que ejecuta Linux en Azure. Cuando acabe de realizar las pruebas, elimine el grupo de recursos o la máquina virtual y el servicio en la nube.
Si puede crear una conexión SSH con un equipo que esté conectado directamente a Internet, compruebe si el dispositivo perimetral de la organización tiene lo siguiente:
- Un firewall interno que bloquea el tráfico SSH a Internet
- Un servidor proxy que impide las conexiones SSH
- Software de detección de intrusiones o supervisión de red en ejecución en los dispositivos de la red perimetral que impide las conexiones SSH
Trabaje con el administrador de red para corregir la configuración de los dispositivos perimetrales de la organización para permitir el tráfico SSH a Internet.
Origen 3: Grupos de seguridad de red
Los grupos de seguridad de red permiten un control pormenorizado del tráfico entrante y saliente permitido. Puede crear reglas que abarquen subredes y servicios en la nube en una red virtual de Azure. Compruebe las reglas de los grupos de seguridad de red para asegurarse de que se permite el tráfico de SSH tanto a Internet como desde Internet. Para obtener más información, consulte Acerca de los grupos de seguridad de red.
También puede usar la comprobación de IP para validar la configuración del grupo de seguridad de red. Para más información, consulte Información general sobre la supervisión de red de Azure.
Origen 4: máquina virtual de Azure basada en Linux
La última causa de los posibles problemas puede residir en la propia máquina virtual de Azure.
Si aún no lo ha hecho, siga las instrucciones para restablecer una contraseña para máquinas virtuales basadas en Linux.
Pruebe de nuevo la conexión desde su equipo. Si sigue sin funcionar, estos son algunos de los posibles problemas:
- El servicio de SSH no se está ejecutando en la máquina virtual de destino.
- El servicio SSH no está escuchando en el puerto TCP 22. Para probar esto, instale un cliente telnet en el equipo local y ejecute "telnet cloudServiceName.cloudapp.net 22". Este paso determina si la máquina virtual permite la comunicación entrante y saliente con el punto de conexión SSH.
- El firewall local en la máquina virtual de destino tiene reglas que impiden el tráfico entrante o saliente de SSH.
- El software de detección de intrusiones o supervisión de red que se ejecuta en la máquina virtual de Azure impide las conexiones SSH.
Recursos adicionales
Para obtener más información sobre cómo solucionar los problemas de acceso a aplicaciones, consulte Solucionar los problemas de acceso a una aplicación que se ejecuta en una máquina virtual de Azure.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.