Acerca de las conexiones SSH


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

Antes de que puedas conectarte a una VM, se deben realizar varias configuraciones. Si usas la consola de Google Cloud o la CLI de Google Cloud para conectarte a tus VMs, Compute Engine realiza estas configuraciones en tu nombre. Compute Engine realiza diferentes parámetros de configuración según la herramienta que uses para conectarte y si administras el acceso a las VMs a través de metadatos o Acceso al SO. El Acceso al SO solo está disponible para las VMs de Linux.

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. Todas las VMs de Windows usan metadatos para administrar las claves SSH, mientras que las VMs de Linux pueden usar claves de metadatos o Acceso al SO. Si usas el Acceso al SO, las claves SSH de metadatos estarán inhabilitadas.

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

Console

  1. Usa el botón SSH en la consola de Google Cloud 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, en las VMs de Linux, almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM. En las VMs de Windows, Compute Engine no almacena la clave pública 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, en las VMs de Linux, almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM. En las VMs de Windows, Compute Engine no almacena la clave pública 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 claves SSH para obtener más detalles.
  2. Debes subir la clave pública y el nombre de usuario a los metadatos. Consulta Agrega claves SSH a las VM que usan claves SSH basadas en metadatos para obtener más detalles.
  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, en las VMs de Linux, almacena la clave pública en el archivo ~/.ssh/authorized_keys del usuario en la VM. En las VMs de Windows, Compute Engine no almacena la clave pública en la VM.
  5. Compute Engine le otorga tu conexión.

Conexiones SSH administradas por el acceso al SO

Cuando configuras los metadatos del Acceso al SO, Compute Engine borra los archivos authorized_keys de la VM y ya no acepta conexiones de claves SSH almacenadas en metadatos del proyecto o la instancia.

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 la consola de Google Cloud, la CLI de gcloud o herramientas de terceros para conectarse a las VMs. Si te conectas a las VM sin usar la consola de Google Cloud o la CLI de gcloud, debes realizar algunas configuraciones tú mismo.

Console

  1. Usa el botón SSH en la consola de Google Cloud 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 tres minutos. Tres 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 con AuthorizedKeysCommand para garantizar que tengas los permisos necesarios para conectarte.
  5. AuthorizedKeysCommand recupera la clave SSH de tu cuenta de usuario para proporcionarla a OpenSSH en la VM.
  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 con AuthorizedKeysCommand para garantizar que tengas los permisos necesarios para conectarte.
  5. AuthorizedKeysCommand recupera la clave SSH de tu cuenta de usuario para proporcionarla a OpenSSH en la VM.
  6. Compute Engine le otorga tu conexión.

Herramientas de terceros

  1. Creas un par de claves SSH. Consulta Crea claves SSH para obtener más detalles.
  2. Debes subir la clave SSH pública a tu perfil de Acceso al SO. Consulta Agrega claves a las VM que usan el acceso al SO 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 con AuthorizedKeysCommand para garantizar que tengas los permisos necesarios para conectarte.
  7. AuthorizedKeysCommand recupera la clave SSH de tu cuenta de usuario para proporcionarla a OpenSSH en la VM.
  8. Compute Engine le otorga tu conexión.

Próximos pasos