Conexiones SSH a las VM de Linux


Compute Engine usa la autenticación SSH basada en claves para establecer conexiones con instancias de máquina virtual (VM) de Linux. De forma predeterminada, los usuarios locales con contraseñas no están configurados en VM de Linux.

Antes de que puedas conectarte a una VM, se deben realizar varias configuraciones. Si usas Google Cloud Console o la herramienta de línea de comandos de gcloud para conectarte a tus VM, Compute Engine realiza estas configuraciones en tu nombre. Compute Engine realiza diferentes configuraciones según la herramienta que uses para conectarte y si administras el acceso a las VM a través de metadatos o Acceso al SO.

Conexiones SSH administradas por metadatos

De forma predeterminada, Compute Engine usa metadatos personalizados de instancias o proyectos para configurar las claves SSH y administrar el acceso SSH. Si usas el acceso a SO, las claves SSH de metadatos estarán inhabilitadas.

Haz clic en cada pestaña para obtener más información sobre las opciones de configuración de Compute Engine antes de que se otorguen conexiones SSH cuando usas Google Cloud Console, la herramienta de gcloud o herramientas de terceros para conectarse a las VM. Si te conectas a las VM sin usar Google Cloud Console o la herramienta de gcloud, debes realizar algunas configuraciones tú mismo.

Console

  1. Usa el botón SSH en Google Cloud Console para conectarte a tu VM.
  2. Compute Engine establece un nombre de usuario y crea un par de claves SSH efímera con la siguiente configuración:
    • El nombre de usuario se define como el nombre de usuario en tu Cuenta de Google. Por ejemplo, si la dirección de correo electrónico asociada a tu Cuenta de Google es cloudysanfrancisco@gmail.com, entonces tu nombre de usuario es cloudysanfrancisco.
    • Tus claves SSH públicas y privadas se almacenan en la sesión de tu navegador.
    • La clave SSH tiene un vencimiento de cinco minutos. Cinco minutos después de que Compute Engine cree la clave, ya no podrás usar la clave SSH para conectarte a la VM.
  3. Compute Engine sube la clave SSH pública y el nombre de usuario a los metadatos.
  4. Compute Engine recupera la clave SSH y el nombre de usuario de los metadatos, crea una cuenta de usuario con el nombre de usuario y la clave pública, y almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM.
  5. Compute Engine le otorga tu conexión.

gcloud

  1. Usa el comando gcloud compute ssh para conectarte a tu VM.
  2. Compute Engine establece un nombre de usuario y crea un par de claves SSH persistentes con las siguientes configuraciones:
    • El nombre de usuario está configurado como el nombre de usuario en tu máquina local.
    • Tu clave SSH pública se almacena en metadatos de proyecto. Si Compute Engine no puede almacenar la clave SSH en los metadatos del proyecto, por ejemplo, porque block-project-ssh-keys se configura como TRUE, Compute Engine almacena la clave SSH en los metadatos de la instancia.
    • La clave SSH privada se almacena en tu máquina local.
    • Tu clave SSH no tiene un vencimiento. Se usa para todas las conexiones SSH futuras que realices, a menos que configures una clave nueva.
  3. Compute Engine sube la clave SSH pública y el nombre de usuario a los metadatos.
  4. Compute Engine recupera la clave SSH y el nombre de usuario de los metadatos, crea una cuenta de usuario con el nombre de usuario y la clave pública, y almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM.
  5. Compute Engine le otorga tu conexión.

Herramientas de terceros

  1. Debes crear un par de claves SSH y un nombre de usuario. Consulta Crea una clave SSH nueva para obtener más detalles.
  2. Debes subir la clave pública y el nombre de usuario a los metadatos. Consulta Formatea tus archivos de claves SSH públicas para conocer los requisitos de formato de claves SSH de Compute Engine.
  3. Te conectarás a la VM.
  4. Compute Engine recupera la clave SSH y el nombre de usuario de los metadatos, crea una cuenta de usuario con el nombre de usuario y la clave pública, y almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM.
  5. Compute Engine le otorga tu conexión.

Conexiones SSH administradas por el acceso al SO

Cuando el acceso a SO está habilitado, Compute Engine rechaza las conexiones de las claves SSH almacenadas en metadatos.

Haz clic en cada pestaña para obtener más información sobre las opciones de configuración de Compute Engine antes de que se otorguen conexiones SSH cuando usas Google Cloud Console, la herramienta de gcloud o herramientas de terceros para conectarse a las VM. Si te conectas a las VM sin usar Google Cloud Console o la herramienta de gcloud, debes realizar algunas configuraciones tú mismo.

Console

  1. Usa el botón SSH en Google Cloud Console para conectarte a tu VM.
  2. Compute Engine establece un nombre de usuario y crea un par de claves SSH efímera con la siguiente configuración:
    • Tu nombre de usuario es el nombre de usuario que configura el administrador de Google Workspace o Cloud Identity de tu organización. Si tu organización no configuró un nombre de usuario para ti o tu proyecto no pertenece a una organización, Compute Engine usa el correo electrónico de tu Cuenta de Google con el siguiente formato:

      USERNAME_DOMAIN_SUFFIX
      Por ejemplo, si el correo electrónico asociado a tu Cuenta de Google es cloudysanfrancisco@gmail.com, entonces tu nombre de usuario generado es cloudysanfrancisco_gmail_com.

    • La clave SSH pública se almacena en tu sesión de navegador y en tu Cuenta de Google.
    • Tu clave SSH privada se almacena en tu sesión de navegador.
    • La clave SSH tiene un vencimiento de cinco minutos. Cinco minutos después de que Compute Engine cree la clave, ya no podrás usar la clave SSH para conectarte a la VM.
  3. Compute Engine resuelve el nombre de usuario proporcionado en tu cuenta de acceso a SO en la VM mediante módulos de servicio NSS.
  4. Compute Engine realiza la autorización de IAM mediante configuraciones PAM a fin de garantizar que tengas los permisos necesarios para conectarte.
  5. Compute Engine recupera la clave SSH desde tu cuenta de usuario y la proporciona a OpenSSH en la VM mediante el comando de claves autorizadas de SSH.
  6. Compute Engine le otorga tu conexión.

gcloud

  1. Usa el comando gcloud compute ssh para conectarte a tu VM.
  2. Compute Engine establece un nombre de usuario y crea un par de claves SSH persistentes con las siguientes configuraciones:
    • Tu nombre de usuario es el nombre de usuario que configura el administrador de Google Workspace o Cloud Identity de tu organización. Si tu organización no configuró un nombre de usuario, Compute Engine usa el correo electrónico de tu Cuenta de Google con el siguiente formato:

      USERNAME_DOMAIN_SUFFIX
      Por ejemplo, si el correo electrónico asociado a tu Cuenta de Google es cloudysanfrancisco@gmail.com, entonces tu nombre de usuario generado es cloudysanfrancisco_gmail_com.

    • La clave SSH pública se almacena en tu Cuenta de Google.
    • Tu clave SSH privada se almacena en tu máquina local en el archivo google_compute_engine.
    • Tu clave SSH no tiene un vencimiento. Se usa para todas las conexiones SSH futuras que realices, a menos que configures una clave nueva.
  3. Compute Engine resuelve el nombre de usuario proporcionado en tu cuenta de acceso a SO en la VM mediante módulos de servicio NSS.
  4. Compute Engine realiza la autorización de IAM mediante configuraciones PAM a fin de garantizar que tengas los permisos necesarios para conectarte.
  5. Compute Engine recupera la clave SSH desde tu cuenta de usuario y la proporciona a OpenSSH en la VM mediante el comando de claves autorizadas de SSH.
  6. Compute Engine le otorga tu conexión.

Herramientas de terceros

  1. Creas un par de claves SSH. Consulta Crea una clave SSH nueva para obtener más detalles.
  2. Debes subir la clave SSH pública a tu perfil de Acceso al SO. Consulta Agrega claves SSH a una cuenta de usuario para obtener más detalles.
    • Compute Engine almacena la clave en tu Cuenta de Google.
    • Compute Engine configura tu nombre de usuario en el formato predeterminado:
          USERNAME_DOMAIN_SUFFIX
      Por ejemplo, si el correo electrónico asociado a tu Cuenta de Google es cloudysanfrancisco@gmail.com, entonces tu nombre de usuario generado es cloudysanfrancisco_gmail_com.
  3. De forma opcional, puedes establecer un nombre de usuario con la SDK de Admin de Google Workspace: API de Directory.
  4. Te conectarás a la VM.
  5. Compute Engine resuelve el nombre de usuario proporcionado en tu cuenta de acceso a SO en la VM mediante módulos de servicio NSS.
  6. Compute Engine realiza la autorización de IAM mediante configuraciones PAM a fin de garantizar que tengas los permisos necesarios para conectarte.
  7. Compute Engine recupera la clave SSH desde tu cuenta de usuario y la proporciona a OpenSSH en la VM mediante el comando de claves autorizadas de SSH.
  8. Compute Engine le otorga tu conexión.

Próximos pasos