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

  • Configura la autenticación si aún no lo hiciste. 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 de la siguiente manera.

    Selecciona la pestaña sobre cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

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 -b 2048

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 llaves 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 -b 2048

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