Autentica con claves públicas SSH

Los usuarios y las cuentas de servicio pueden usar claves públicas SSH para autenticarse en los repositorios de Secure Source Manager. En esta página, se describe cómo generar un par de claves SSH y, luego, agregarlo como método de autenticación en la interfaz web de Secure Source Manager.

Secure Source Manager admite los tipos de claves SSH RSA, ECDSA y Ed25519.

Roles obligatorios

Para obtener los permisos que necesitas para autenticarte con claves públicas SSH, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para autenticarse con claves públicas SSH. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para autenticarse con claves públicas SSH:

  • securesourcemanager.sshkeys.createAny en la instancia de Secure Source Manager
  • Para asignar una clave SSH a una cuenta de servicio: iam.serviceAccounts.actAs en la cuenta de servicio

También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.

Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM y Otorga a los usuarios acceso a la instancia.

Genera un par de claves

Un par de claves SSH consta de una clave privada que reside en tu sistema local y una clave pública que registras Google Cloud.

Linux o macOS

  1. Instala OpenSSH en tu sistema local.

  2. En el símbolo del sistema, ingresa el siguiente comando:

    ssh-keygen -t KEY_TYPE -C "USER_EMAIL"
    

    Donde:

    • USER_EMAIL es tu dirección de correo electrónico.
    • KEY_TYPE es uno de rsa, ecdsa o ed25519.

    Por ejemplo:

    ssh-keygen -t rsa -C "user@example.com"
    
    1. Cuando se te solicite, ingresa una ubicación y un nombre de archivo para el archivo de claves públicas. Para aceptar la ubicación predeterminada y el nombre de archivo, presiona Intro.

    2. Cuando se te solicite, deja la frase de contraseña en blanco y presiona Intro.

Windows

  1. Si no lo tienes, instala el cliente de OpenSSH (incluido en Windows 10 y versiones posteriores) y Git para Windows en tu sistema local. En las siguientes instrucciones, se usan OpenSSH y Git para Windows.

  2. En PowerShell o en el símbolo del sistema, ejecuta el siguiente comando:

    ssh-keygen -t KEY_TYPE -C "USER_EMAIL"
    

    Aquí:

    • USER_EMAIL es tu dirección de correo electrónico.
    • KEY_TYPE es uno de rsa, ecdsa o ed25519.

    Por ejemplo:

    ssh-keygen -t rsa -C "user@example.com"
    
    1. Cuando se te solicite, ingresa una ubicación y un nombre de archivo para el archivo de claves públicas. Para aceptar la ubicación y el nombre de archivo predeterminados (`%USERPROFILE%.ssh`), presiona Intro.

    2. Cuando se te solicite, deja la frase de contraseña en blanco y presiona Intro.

Agrega la clave SSH al agente SSH

Para usar el par de claves SSH que generaste, agrega tu clave al agente SSH. Si no guardaste la clave en la ubicación predeterminada, agregarla al agente SSH ayuda a SSH a ubicarla.

Linux o macOS

  1. Inicia ssh-agent en segundo plano:

    eval "$(ssh-agent -s)"
    

    El comando muestra el ID del proceso del agente (PID), por ejemplo:

    Agent pid 3245
    

    Según tu entorno, es posible que debas usar un comando diferente, por ejemplo:

    • Para usar el acceso raíz, ejecuta sudo -s -H antes de iniciar ssh-agent.
    • Para ejecutar ssh-agent directamente, usa exec ssh-agent bash o exec ssh-agent zsh.
  2. Agrega tu clave privada SSH a ssh-agent.

    ssh-add ~/.ssh/FILENAME
    

    En este caso, FILENAME es el nombre de tu archivo de claves privadas, por ejemplo, id_rsa o id_ed25519.

Windows

  1. Inicia ssh-agent.

    • Si usas Git Bash, inicia ssh-agent:

      eval "$(ssh-agent -s)"
      
    • Si usas PowerShell o el símbolo del sistema, inicia el servicio ssh-agent. En PowerShell, ejecuta lo siguiente:

      Set-Service ssh-agent -StartupType Automatic; Start-Service ssh-agent
      
  2. Agrega tu clave privada SSH a ssh-agent.

    • Si usas Git Bash:

      ssh-add ~/.ssh/FILENAME
      
    • Si usas PowerShell o el símbolo del sistema:

      ssh-add $env:USERPROFILE\.ssh\FILENAME
      

    En este caso, FILENAME es el nombre de tu archivo de claves privadas, por ejemplo, id_rsa o id_ed25519.

Agrega claves SSH para usuarios

  1. En la interfaz web de Secure Source Manager, desde la página de la instancia o del repositorio, haz clic en el menú más opciones.
  2. Haz clic en Claves SSH del usuario.

    Se abrirá la página Claves SSH del usuario y se mostrará una lista de las claves existentes que creaste.

  3. En la página Claves SSH del usuario, haz clic en Agregar clave.

  4. En la página Agregar clave SSH, ingresa los siguientes valores para tu clave:

    1. Título: Agrega un título descriptivo para la clave.
    2. Clave pública SSH: Pega tu cadena de clave pública. Para obtener la cadena de clave pública, abre el archivo de claves públicas (FILENAME.pub) en un editor de texto o ejecuta uno de los siguientes comandos:

      Linux o macOS

      cat ~/.ssh/FILENAME.pub
      

      Windows

      cat $env:USERPROFILE\.ssh\FILENAME.pub
      

      Reemplaza FILENAME por el nombre de tu archivo de claves.

Puedes usar claves SSH para autenticarte en cualquier repositorio de Secure Source Manager, siempre que tengas los permisos necesarios en ese repositorio.

Agrega claves SSH para cuentas de servicio