Conexión a nodos gestionados mediante SSH

Descubra cómo utilizar SSH para conectarse a nodos de trabajador en pools de nodos en los clusters que ha creado mediante Container Engine for Kubernetes (OKE).

Si ha proporcionado una clave SSH pública al crear un pool de nodos gestionados en un cluster, la clave pública se instala en todos los nodos de trabajo del pool de nodos. En UNIX y en plataformas parecidas a UNIX (incluidas Solaris y Linux), puede conectarse a través de SSH a los nodos de trabajador mediante la herramienta ssh (un cliente SSH) para realizar tareas administrativas. Tenga en cuenta que no puede conectarse a nodos virtuales mediante SSH.

Tenga en cuenta las siguientes instrucciones asumen la máquina UNIX que utiliza para conectarse al nodo de trabajador:

  • Tiene instalada la herramienta ssh.
  • Tiene acceso al archivo de claves privadas SSH emparejado con la clave pública SSH especificada al crear el cluster.

La manera de conectar con nodos de trabajador mediante SSH depende de si especificó subredes públicas o privadas para los nodos de trabajador al definir los pools de nodos en el cluster.

Conexión a nodos gestionados en subredes públicas mediante SSH

Para poder conectarse a un nodo gestionado en una subred pública mediante SSH, debe definir una regla de entrada en el grupo de seguridad de red (recomendado) o en la lista de seguridad de subred aplicable para permitir el acceso SSH. La regla de entrada debe permitir el acceso al puerto 22 en los nodos de trabajador del origen 0.0.0.0/0 y cualquier puerto de origen, de la siguiente manera:

Tipo CIDR de origen Protocolo IP Rango de puertos de origen Dest. Rango de puertos Tipo y código Permite: y Descripción:
Con estado 0.0.0.0/0 TCP Todo 22 n/d

Permite: tráfico TCP para puertos:22 Protocolo de inicio de sesión remoto SSH

Descripción: activa el acceso SSH.

Para conectarse a un nodo gestionado en una subred pública a través de SSH desde una máquina UNIX mediante la herramienta SSH:

  1. Busque la dirección IP del nodo de trabajador al que desea conectarse. Puede hacerlo de varias formas:

    • Use kubectl. Si todavía no lo ha hecho, siga los pasos para configurar el archivo de configuración kubeconfig del cluster y (si es necesario) defina la variable de entorno KUBECONFIG para que apunte al archivo. Tenga en cuenta que debe configurar su propio archivo kubeconfig. No puede acceder a un cluster utilizando un archivo kubeconfig que haya configurado un usuario diferente. Consulte Configuración del acceso a los clusters. A continuación, en una ventana de terminal, introduzca kubectl get nodes para ver las direcciones IP públicas de los nodos de trabajador en los pools de nodos del cluster.
    • Uso de la Consola. En la Consola, muestre la página Lista de clusters y, a continuación, seleccione el cluster al que pertenece el nodo de trabajador. En el separador Pools de nodos, haga clic en el nombre del pool de nodos al que pertenece el nodo de trabajador. En el separador Nodos, puede ver la dirección IP pública de cada nodo de trabajador en el pool de nodos.
    • Uso de la API de REST. Use la operación ListNodePools para ver las direcciones IP públicas de los nodos de trabajador en un pool de nodos.
  2. En la ventana de terminal, introduzca ssh opc@<node_ip_address> para conectarse al nodo de trabajador, donde <node_ip_address> es la dirección IP del nodo de trabajador que anotó anteriormente. Por ejemplo, puede introducir ssh opc@192.0.2.254.

    Tenga en cuenta que si la clave privada SSH no está almacenada en el archivo o en la ruta que la herramienta ssh espera (por ejemplo, la herramienta ssh puede esperar que la clave privada se almacene en ~/.ssh/id_rsa), debe especificar explícitamente la ubicación y el nombre de archivo de la clave privada de una de estas dos formas:

    • Utilice la opción -i para especificar el nombre de archivo y la ubicación de la clave privada. Por ejemplo, ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
    • Agregue la ubicación y el nombre de archivo de clave privada a un archivo de configuración SSH, ya sea el archivo de configuración de cliente (~/.ssh/config), si existe, o bien el archivo de configuración de cliente de todo el sistema (/etc/ssh/ssh_config). Por ejemplo, puede agregar lo siguiente:

      Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

    Para obtener más información sobre el archivo de configuración de la herramienta ssh, introduzca man ssh_config

    Tenga en cuenta también que los permisos en el archivo de clave privada deben permitir el acceso de lectura/escritura/ejecución, pero evitar que otros usuarios accedan al archivo. Por ejemplo, para establecer los permisos adecuados, puede introducir chmod 600 ~/.ssh/my_keys/my_host_key_filename. Si los permisos no están configurados correctamente y el archivo de clave privada es accesible para otros usuarios, la herramienta ssh simplemente ignorará el archivo de clave privada.

Conexión a nodos gestionados en subredes privadas mediante SSH

Los nodos de trabajador gestionados de las subredes privadas solo tienen direcciones IP privadas (no tienen direcciones IP públicas). Solo pueden acceder a ellos otros recursos dentro de la VCN.

Puede utilizar el acceso privado de Cloud Shell para obtener acceso SSH a los nodos de trabajador en subredes privadas (consulte Red privada de Cloud Shell).

Oracle recomienda utilizar el servicio Oracle Cloud Infrastructure Bastion para activar el acceso SSH externo a los nodos de trabajador en subredes privadas. Para obtener más información sobre los bastiones, consulte Configuración de un bastión para el acceso al cluster.