Solución de problemas de conexión SSH

Si no puede conectarse a una instancia informática mediante SSH, revise los siguientes mensajes de error y sugerencias de solución de problemas para resolver el problema.

Consejo

Si es la primera vez que crea una instancia, en un tutorial guiado, tenga en cuenta lo siguiente:
Consejo

Si es la primera vez que crea una instancia, recomendamos crear primero una red virtual en la nube (VCN). Puede utilizar el flujo de trabajo "Start VCN Wizard" y seleccionar la opción "Create VCN with Internet Connectivity". El flujo de trabajo crea una VCN que configura automáticamente una subred pública y privada junto con los gateways y las reglas de ruta necesarios. Además, el flujo de trabajo proporciona una opción para configurar IPv6. Para obtener más información sobre la ejecución del flujo de trabajo, consulte Inicio rápido de redes virtuales.

Error de SSH: conexión al puerto 22 de host w.x.y.z: timeout de la operación

El error significa que SSH no puede conectarse al host en la dirección IP especificada. Compruebe los siguientes escenarios para resolver el problema.

Asegúrese de que el sistema tenga acceso a Internet

Asegúrese de que el entorno que ejecuta el comando SSH tiene acceso a Internet
  • Windows: abra una ventana del símbolo del sistema.
  • MacOS/Linux: abra una ventana de terminal.
  • Haga ping a un host conocido como google.com o amazon.com.
  • Si el comando ping se ejecuta correctamente, continúe con la siguiente opción.
Fallo de ping

Es posible que el entorno SSH no tenga acceso a Internet. Si no está seguro de la configuración del firewall de su organización para el acceso a Internet, considere utilizar OCI Cloud Shell para SSH en la instancia. Consulte la sección de OCI Cloud Shell en esta página para obtener más información.

Servidores Proxy
Si su organización utiliza servidores proxy para conectarse a Internet, asegúrese de que la configuración de proxy es correcta. Consulte la documentación del proxy de su organización, ya que la configuración puede variar según la configuración del proxy y el sistema operativo utilizado.

Comprobación de la configuración de OCI

A continuación, compruebe la configuración de OCI para verificar la configuración.

Abrir los detalles de la instancia
  • Conéctese en la consola de OCI.
  • Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
  • Seleccione la instancia en la que está interesado. Aparecerá la página de detalles de la instancia.
Compruebe la siguiente configuración
  • Asegúrese de que la instancia se está ejecutando y no está parada.
  • Asegúrese de que la instancia tiene una dirección IP pública.
    • Consulte la sección Acceso a instancias. Si se asigna una dirección IP pública, la dirección se etiquetará: Dirección IP de acceso público:
    • Si la sección Acceso a instancia está vacía, no se asigna ninguna dirección IP pública.
  • Si tiene una dirección pública, asegúrese de utilizar la dirección IP correcta en el comando SSH.
  • Si no tiene una dirección IP pública, compruebe la subred de la VCN.
    • Si se encuentra en una subred privada, no puede conectarse a su instancia desde Internet. Consulte la sección Uso de una subred privada.
  • Si ha creado una instancia en una subred pública, pero no ha asignado una dirección IP pública al crear la instancia, puede seguir asignando la dirección. Consulte: Asignación de una IP pública efímera a una IP privada primaria existente.
    • Después de definir la dirección IP, reinicie la instancia e intente utilizar SSH para conectarse a la instancia.

La instancia tiene una dirección IP pública en una subred pública y todavía no puedo conectarla

Si es nuevo en OCI, los siguientes pasos de solución de problemas son más avanzados. Para acelerar las cosas, considere la configuración de una nueva VCN y una nueva instancia informática, como se describe en los siguientes consejos.

Consejo

Si es la primera vez que crea una instancia, en un tutorial guiado, tenga en cuenta lo siguiente:
Consejo

Si es la primera vez que crea una instancia, recomendamos crear primero una red virtual en la nube (VCN). Puede utilizar el flujo de trabajo "Start VCN Wizard" y seleccionar la opción "Create VCN with Internet Connectivity". El flujo de trabajo crea una VCN que configura automáticamente una subred pública y privada junto con los gateways y las reglas de ruta necesarios. Además, el flujo de trabajo proporciona una opción para configurar IPv6. Para obtener más información sobre la ejecución del flujo de trabajo, consulte Inicio rápido de redes virtuales.
Abrir los detalles de la instancia
  • Conéctese en la consola de OCI.
  • Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
  • Seleccione la instancia en la que está interesado. Aparecerá la página de detalles de la instancia.
Revisión de la configuración de VCN
  • Haga clic en la VCN asignada a esta instancia.
  • Asegúrese de que hay al menos un gateway de Internet disponible en el recurso de gateways de Internet.
    • Si no hay ningún gateway de Internet asignado, vaya a la siguiente sección.
  • Si se asigna un gateway de Internet, asegúrese de que su subred pública tenga asignada una regla de ruta para el gateway.
    • En el recurso Subredes, seleccione la subred pública.
    • En Información de subred, haga clic en el enlace Tabla de rutas.
    • Asegúrese de que hay una ruta estática con el destino 0.0.0.0/0.
    • Si falta la entrada de ruta, vaya a la sección siguiente.
Mi subred pública no está configurada correctamente

Si parece que la subred pública no está configurada correctamente, tiene dos opciones para volver a configurar la subred.

(1) Utilice Compute Quick Action.

En la página de detalles de la instancia:

  • En la lista Recursos, seleccione Acciones rápidas.
  • Haga clic en Conectar en la acción rápida Conectar subred pública a Internet.
  • Siga el flujo de trabajo para conectar la instancia.

(2) Cree manualmente una subred pública.

  • Utilice el documento Escenario A: una subred pública para realizar un recorrido virtual por los pasos para configurar y configurar una nueva subred pública.
  • Cree una nueva instancia informática en la nueva subred pública.
Comprobar listas de seguridad

Si sigue teniendo problemas, asegúrese de que las listas de seguridad permitan el tráfico en el puerto 22. Consulte Listas de seguridad para obtener más información.

Solución de problemas avanzada

Si es un usuario avanzado, puede utilizar Network Path Analyzer para solucionar aún más los problemas de la conexión de red. Consulte Network Path Analyzer para obtener más información.

SSH: conexión al puerto 22 de host w.x.y.z: conexión rechazada

Este mensaje de error se debe a que un host recibe en la dirección de destino, pero no puede conectarse al puerto 22.

Utilice Netcat(nc) para verificar que SSH se está ejecutando

Linux o MacOS

En una ventana de terminal, ejecute el siguiente comando:

nc <public ip> 22
  • Si el comando devuelve un mensaje similar a: SSH-2.0-OpenSSH_9.4

    Se ha conectado correctamente a la instancia y se está ejecutando SSH verificado. Compruebe la dirección IP en el comando SSH y asegúrese de que sea correcta.

  • Si el comando no devuelve nada:

    • Compruebe la dirección IP pública en la página de detalles de la instancia para asegurarse de que está utilizando la dirección correcta.
    • Compruebe la dirección IP utilizada en el comando y asegúrese de que sea correcta.

    De lo contrario, continúe a la siguiente sección.

Windows

En una ventana PowerShell, ejecute el siguiente comando:

tnc <public ip> -p 22
  • Si el comando devuelve un mensaje similar a:

    ComputerName     : <public ip>
                                    RemoteAddress    : <public ip>
                                    RemotePort       : 22
                                    InterfaceAlias   : Ethernet
                                    SourceAddress    : <source ip>
                                    TcpTestSucceeded : True

    Se ha conectado correctamente a la instancia y se está ejecutando SSH verificado. Compruebe la dirección IP en el comando SSH y asegúrese de que sea correcta.

  • Si el comando devuelve: WARNING: TCP connect to (<public ip>) failed
    • Compruebe la dirección IP pública en la página de detalles de la instancia para asegurarse de que está utilizando la dirección correcta.
    • Compruebe la dirección IP utilizada en el comando y asegúrese de que sea correcta.

    De lo contrario, continúe con la resolución de problemas con la siguiente sección.

SSH no se está ejecutando

  • Compruebe que la instancia está en una subred pública.
    • Si la instancia está en una subred privada, no puede conectarse directamente a la instancia. Consulte la sección Uso de una subred privada.
  • Asegúrese de que las listas de seguridad estén configuradas para permitir conexiones al puerto 22. Consulte Listas de seguridad para obtener más información.
  • Reinicie la instancia para reiniciar el daemon SSH.
  • Avanzado: si utiliza una imagen personalizada y necesita iniciar o instalar el servicio SSH, utilice la consola serie para conectarse a la instancia.

<user-name>@w.x.y.z: permiso denegado (publickey,gssapi-keyex,gssapi-with-mic)

Este mensaje de error indica que SSH se está conectando al host de servicio SSH, pero hay un problema con el comando SSH.

Compruebe los siguientes problemas con el comando SSH

  • Compruebe todas las opciones de la línea de comandos para SSH. Cualquier opción incorrecta puede provocar este mensaje de error.
    • A continuación, se muestra un ejemplo de un comando SSH con formato correcto para conectarse a Oracle Linux.
      ssh -i <my-private-key-file> opc@x.x.x.x
  • Asegúrese de que está utilizando el nombre de usuario correcto para la instancia:
    • Para Oracle Linux u otro OSes compatible con Red Hat, utilice opc.
    • Para Ubuntu Linux, utilice ubuntu.
  • Asegúrese de utilizar la clave privada correcta. El uso de un archivo de clave privada incorrecto dará como resultado este mensaje de error.
    • Asegúrese de que está en el directorio que contiene la clave.
    • De manera alternativa, asegúrese de que la ruta a la clave privada sea correcta.
  • Perdí mi llave privada.
    • Cree una nueva instancia y descargue las nuevas claves públicas y privadas.
    • Crear un nuevo conjunto de claves públicas y privadas. Crear una nueva instancia.

Conexión SSH denegada mediante archivos de claves PuTTYgen: "Permission denied (publickey,gssapi-keyex,gssapi-with-mic)"

Esto ocurre porque las instancias de Linux soportan las claves SSH generadas por OpenSSH y las claves SSH generadas por PuTTYgen utilizan un formato diferente.

Hacer coincidir los formatos de clave SSH

Si utiliza claves .ppk generadas con PuTTYgen para conectarse a una instancia de Linux mediante el comando SSH OpenSSH, la conexión falla. Por ejemplo:

$ ssh -i deployment_key.txt opc@<IP_ADDRESS>
Enter passphrase for key 'deployment_key.txt':
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Este error se produce porque las instancias de Linux soportan claves SSH generadas por OpenSSH y las claves SSH generadas por PuTTYgen utilizan un formato diferente. Para resolver este problema, utilice PuTTYgen para convertir las claves al formato de clave OpenSSH. A continuación, las claves se pueden utilizar con el comando SSH para conectarse a una instancia de Linux.

  1. Si no tiene PuTTYgen, descárguelo de https://www.puttygen.com/ e instálelo.
  2. Abra PuTTYgen.
  3. Haga clic en Archivo y, a continuación, haga clic en Cargar clave privada.
  4. Vaya al archivo de clave privada PuTTY (.ppk) y, a continuación, haga clic en Abrir.
  5. (Opcional) Introduzca una frase de contraseña de clave.
  6. Haga clic en Conversiones y, a continuación, haga clic en Exportar clave OpenSSH.

    Si no utilizó como frase de contraseña, haga clic en Yes (Sí) en la PuTTYgen Warning (Advertencia) para continuar.

  7. En la ventana Guardar clave privada como: introduzca un nombre de archivo para la clave convertida y, a continuación, haga clic en Guardar.

Ahora puede utilizar la clave convertida para conectarse a la instancia de Linux.

SSH falla con error: "Autenticación rechazada: propiedad o modos incorrectos para el directorio"

Este error se produce porque se han definido permisos incorrectos en el directorio /home/<USERNAME> o en el archivo .ssh/authorized_keys.

Nota

Las rutas del directorio raíz de ejemplo de este consejo de solución de problemas utilizan Oracle Linux. La ruta de acceso del directorio raíz puede variar según el sistema operativo. Por ejemplo, la ruta de acceso del directorio raíz en MacOS es /Users/<USERNAME>.

Definir permisos correctos

Si tiene definidos permisos incorrectos en el directorio /home/<USERNAME> o en el archivo .ssh/authorized_keys, la conexión a una instancia de Linux mediante SSH puede fallar.

Por ejemplo:

login as: <username>
Server refused our key

Si revisa los archivos log /var/log/secure en la instancia de Linux, verá el motivo del error:

<SERVER> sshd[6245]: Authentication refused: bad ownership or modes for directory /home/<USERNAME>

Para corregir el error, defina los permisos en el directorio raíz o en el archivo .ssh/authorized_keys, utilice el comando chmod:

# chmod 700 /home/<username>
# chmod 700 /home/<username>/.ssh/
# chmod 600 /home/username/.ssh/authorized_keys

Uso de Cloud Shell para conectarse a una instancia de OCI

OCI Cloud Shell es un terminal basado en explorador accesible desde la consola de OCI. Cloud Shell se puede utilizar libremente (dentro de los límites mensuales del arrendamiento) y proporciona acceso a un shell de Linux con una CLI de OCI autenticada previamente, una instalación de Ansible autenticada previamente y otras herramientas útiles.

Si tiene problemas de conectividad con la instancia, Cloud Shell es una opción eficaz para conectarse a SSH. Dado que Cloud Shell está basado en explorador, elimina cualquier posible problema de conectividad debido a la configuración de firewall corporativo o portátil. En esta sección, se proporciona un enlace a la información sobre las formas en que puede utilizar Cloud Shell.

  • Para obtener información sobre Cloud Shell, consulte Cloud Shell.

  • Para obtener información sobre cómo acceder a Cloud Shell, consulte Uso de Cloud Shell.

  • Para obtener información sobre cómo conectar una sesión de Cloud Shell a una red privada, consulte Redes privadas de Cloud Shell.

Uso de una subred privada

Si la instancia informática está en una subred privada, generalmente hay dos escenarios.

(1) La instancia está en una subred privada, pero debe estar en una subred pública

Para tener la instancia en una subred pública, tiene las siguientes opciones.

  • Cree una nueva instancia en una subred pública de la VCN actual. Finalice la instancia antigua.
  • Cree una nueva subred pública en la VCN actual. Cree una nueva instancia en la nueva subred pública. Finalice la instancia antigua.
  • Cree una nueva VCN con una subred pública y, a continuación, cree una nueva instancia en la subred pública. Finalice la instancia antigua.
Consejo

Si es la primera vez que crea una instancia, en un tutorial guiado, tenga en cuenta lo siguiente:
Consejo

Si es la primera vez que crea una instancia, recomendamos crear primero una red virtual en la nube (VCN). Puede utilizar el flujo de trabajo "Start VCN Wizard" y seleccionar la opción "Create VCN with Internet Connectivity". El flujo de trabajo crea una VCN que configura automáticamente una subred pública y privada junto con los gateways y las reglas de ruta necesarios. Además, el flujo de trabajo proporciona una opción para configurar IPv6. Para obtener más información sobre la ejecución del flujo de trabajo, consulte Inicio rápido de redes virtuales.
(2) La instancia está intencionadamente en una subred privada

Cuando la instancia informática está en una subred privada, puede conectarse a ella mediante:

Opciones adicionales de conexión y solución de problemas de instancias

El objetivo de esta página es utilizar el comando SSH para conectarse a una instancia. A continuación, se muestran otras herramientas disponibles para solucionar problemas de instancias informáticas.

Solución de problemas con la consola serie

Mediante una conexión de consola de OCI, puede utilizar la consola serie de la instancia para conectarse a la instancia. Esto le permite solucionar problemas y configurar una instancia de forma remota. Para obtener más información, consulte Solución de problemas de instancias con conexiones de la consola de instancias.

Desde la consola serie, puede realizar las siguientes tareas administrativas:

Observación del Estado de la Instancia

En la página de detalles de la instancia, puede observar métricas relacionadas con la instancia, incluido el estado de la instancia. La métrica oci_compute_instance_health permite supervisar si una instancia de VM no responde. Compute envía una solicitud de protocolo de resolución de direcciones (ARP) a la tarjeta de interfaz de red virtual (VNIC) de la instancia. Si el ping de ARP falla, la métrica muestra que la instancia no responde.

Para utilizar la métrica, seleccione oci_compute_instance_health en el control Espacio de nombres de métrica de la página de detalles. Para obtener más información, consulte: Métricas de estado de instancia informática.

Otras secciones de solución de problemas de Compute

Además de SSH, también están disponibles los siguientes temas de resolución de problemas.