Crea claves SSH


En este documento, se describe cómo crear un par de claves SSH para instancias de máquina virtual (VM) en Compute Engine.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Crea un par de claves SSH

Si te conectas a las VM mediante la consola de Google Cloud o Google Cloud CLI, Compute Engine crea claves SSH por ti. Para obtener más información sobre cómo Compute Engine configura y almacena claves, consulta Información sobre las conexiones SSH.

Si te conectas a las VM mediante OpenSSH o herramientas de terceros, debes agregar una clave a tu VM antes de conectarte. Si no tienes una clave SSH, debes crear una. Las VM aceptan los formatos de clave que se enumeran en el archivo sshd_config.

Linux y macOS

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

Abre una terminal y usa el comando ssh-keygen con la marca -C para crear un nuevo par de claves SSH.

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

Reemplaza lo siguiente:

  • KEY_FILENAME: el nombre de tu archivo de claves SSH.

    Por ejemplo, un nombre de archivo de 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: tu nombre de usuario en la VM. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Para las VM de Linux, USERNAME no puede ser root, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs como usuario raíz.

    Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de 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 el archivo de claves privadas en ~/.ssh/KEY_FILENAME y el archivo de claves públicas 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 versiones posteriores

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

Abre el símbolo del sistema y usa el comando ssh-keygen con la marca -C para crear un nuevo par de claves SSH.

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

Reemplaza lo siguiente:

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

  • KEY_FILENAME: el nombre de tu archivo de claves SSH.

    Por ejemplo, un nombre de archivo de 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: tu nombre de usuario en la VM. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    Para las VM de Linux, USERNAME no puede ser root, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs como usuario raíz.

    Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de 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 el archivo de claves privadas en C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME y el archivo de claves públicas 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 versiones anteriores

En las estaciones de trabajo con Windows 8 o versiones anteriores, usa la herramienta PuTTYgen para crear un nuevo par de claves SSH. En el siguiente ejemplo, se crea un par de claves RSA.

  1. Si aún no lo has hecho, descarga puttygen.exe.

  2. Abre PuTTYgen.

  3. En Parameters, especifica lo siguiente:

    • Tipo de clave para generar: RSA
    • Cantidad de bits en una clave generada: 2048 o más
  4. Haz clic en Generate y sigue las instrucciones en pantalla.

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

  5. En la sección Comentario de clave, reemplaza el texto prepropagado por el nombre de usuario. Por ejemplo, cloudysanfrancisco o cloudysanfrancisco_gmail_com.

    En las VM de Linux, el Comentario de clave no puede ser root, a menos que configures la VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs como usuario raíz.

    Para las VM de Windows que usan Active Directory (AD), se debe agregar el comentario de la clave al dominio de AD en el formato DOMAIN\. Por ejemplo, el usuario cloudysanfrancisco dentro del AD de ad.example.com tiene un comentario de clave de example\cloudysanfrancisco.

  6. Opcional: Ingresa una Frase de contraseña de clave para protegerla con una contraseña.

  7. Haz clic en Save private key para elegir una ubicación en la que quieras guardar la clave privada.

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

  8. Haz clic en Guardar clave pública para elegir una ubicación en la que quieras guardar tu clave pública. Mantén abierta la ventana de PuTTYgen.

  9. Copia el valor del campo Clave pública for pegar en el archivo authorized_keys de OpenSSH.

  10. Abre 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. Reemplaza todo el contenido del archivo de clave pública por el valor que copiaste del campo Clave pública for pegar en el archivo authorized_keys de OpenSSH, de modo que tu archivo de clave pública coincida con el formato siguiente:

    KEY_VALUE USERNAME
    

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

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Próximos pasos