Crear claves SSH


Este documento describe cómo crear un par de claves SSH para instancias de máquinas virtuales (VM) de Compute Engine.

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Crear un par de claves SSH

Si te conectas a máquinas virtuales mediante la consola de Google Cloud o la CLI de Google Cloud, Compute Engine crea claves SSH en tu nombre. Para obtener más información sobre cómo Compute Engine configura y almacena claves, consulta Acerca de las conexiones SSH .

Si se conecta a máquinas virtuales mediante herramientas de terceros u OpenSSH, deberá agregar una clave a su máquina virtual antes de poder conectarse. Si no tiene una clave SSH, debe crear una. Las máquinas virtuales aceptan los formatos de clave enumerados en el archivo sshd_config .

Linux y macOS

En estaciones de trabajo Linux y macOS, utilice la utilidad ssh-keygen para crear un nuevo par de claves SSH. El siguiente ejemplo crea un par de claves RSA.

Abra una terminal y use el comando ssh-keygen con el indicador -C para crear un nuevo par de claves SSH.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME

Reemplace lo siguiente:

  • KEY_FILENAME : el nombre de su archivo de clave SSH.

    Por ejemplo, un nombre de archivo my-ssh-key genera un archivo de clave privada llamado my-ssh-key y un archivo de clave pública llamado my-ssh-key.pub .

  • USERNAME : su nombre de usuario en la VM. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com .

    Para las máquinas virtuales Linux, el USERNAME no puede ser root , a menos que configure su máquina virtual para permitir el inicio de sesión como root. Para obtener más información, consulte Conectarse a máquinas virtuales como usuario raíz .

    Para máquinas virtuales Windows que usan Active Directory (AD), el nombre de usuario debe ir precedido del dominio AD, en el formato DOMAIN \ . Por ejemplo, el usuario cloudysanfrancisco dentro del AD ad.example.com tiene un USERNAME de example\cloudysanfrancisco .

ssh-keygen guarda su archivo de clave privada en ~/.ssh/ KEY_FILENAME y su archivo de clave pública en ~/.ssh/ KEY_FILENAME .pub .

Una clave pública para el usuario cloudysanfrancisco es similar a la siguiente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 o posterior

En estaciones de trabajo con Windows versión 10 o posterior, utilice la utilidad ssh-keygen para crear un nuevo par de claves SSH. El siguiente ejemplo crea un par de claves RSA.

Abra el símbolo del sistema y use el comando ssh-keygen con el indicador -C para crear un nuevo par de claves SSH.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME

Reemplace lo siguiente:

  • WINDOWS_USER : su nombre de usuario en la máquina Windows.

  • KEY_FILENAME : el nombre de su archivo de clave SSH.

    Por ejemplo, un nombre de archivo my-ssh-key genera un archivo de clave privada llamado my-ssh-key y un archivo de clave pública llamado my-ssh-key.pub .

  • USERNAME : su nombre de usuario en la VM. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com .

    Para las máquinas virtuales Linux, el USERNAME no puede ser root , a menos que configure su máquina virtual para permitir el inicio de sesión como root. Para obtener más información, consulte Conectarse a máquinas virtuales como usuario raíz .

    Para máquinas virtuales Windows que usan Active Directory (AD), el nombre de usuario debe ir precedido del dominio AD, en el formato DOMAIN \ . Por ejemplo, el usuario cloudysanfrancisco dentro del AD ad.example.com tiene un USERNAME de example\cloudysanfrancisco .

ssh-keygen guarda su archivo de clave privada en C:\Users\ WINDOWS_USER \.ssh\ KEY_FILENAME y su archivo de clave pública en C:\Users\ WINDOWS_USER \.ssh\ KEY_FILENAME .pub .

Una clave pública para el usuario cloudysanfrancisco es similar a la siguiente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 o anterior

En estaciones de trabajo con Windows versión 8 o anterior, utilice la herramienta PuTTYgen para crear un nuevo par de claves SSH. El siguiente ejemplo crea un par de claves RSA.

  1. Descargue puttygen.exe si aún no lo ha hecho.

  2. Abra PuTTYgen.

  3. En Parámetros, especifique lo siguiente:

    • Tipo de clave a generar : RSA
    • Número de bits en una clave generada : 2048 o más
  4. Haga clic en Generar y siga las instrucciones en pantalla.

    La herramienta muestra el valor de la clave pública.

  5. En la sección Comentario clave , reemplace el texto completado previamente con su nombre de usuario. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com .

    Para las máquinas virtuales Linux, el comentario clave no puede ser root , a menos que configure su máquina virtual para permitir el inicio de sesión como root. Para obtener más información, consulte Conectarse a máquinas virtuales como usuario raíz .

    Para máquinas virtuales Windows que usan Active Directory (AD), el comentario clave debe ir precedido del dominio AD, en el formato DOMAIN \ . Por ejemplo, el usuario cloudysanfrancisco dentro del AD ad.example.com tiene un comentario clave de example\cloudysanfrancisco .

  6. Opcional: ingrese una frase de contraseña clave para proteger su clave con contraseña.

  7. Haga clic en Guardar clave privada para elegir una ubicación donde guardar la clave privada.

    PuTTYgen escribe la clave privada en un archivo con extensión .ppk .

  8. Haga clic en Guardar clave pública para elegir una ubicación donde guardar su clave pública. Mantenga abierta la ventana de PuTTYgen.

  9. Copie el texto de la clave pública para pegarlo en el campo del archivo OpenSSH Authorized_keys .

  10. Abra el archivo de clave pública. La clave pública tiene un formato similar al siguiente:

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Reemplace todo el contenido del archivo de clave pública con el valor que copió del campo Clave pública para pegar en el campo Archivo de claves_autorizadas de OpenSSH , de modo que su archivo de clave pública coincida con el siguiente formato:

    KEY_VALUE USERNAME
    

Una clave pública para el usuario cloudysanfrancisco es similar a la siguiente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

¿Qué sigue?