Actualiza las claves SSH de un usuario de SFTP

En este documento, se muestra cómo actualizar las claves de Secure Shell (SSH) que un usuario de Cloud FTP puede usar para conectarse a un servidor SFTP.

Antes de comenzar

  • Obtén la clave pública del usuario de cada par de claves SSH que usará para conectarse al servidor. Un usuario puede tener un máximo de 10 claves públicas.

    Si el usuario no tiene un par de claves SSH, sigue estos pasos para generar uno.

    Genera un par de llaves SSH

    ¿Qué formato de clave necesitas?

    El formato de clave que necesitas depende del cliente que uses para conectarte al servidor SFTP. Para más información, consulta Clientes SFTP compatibles.

    Formato PEM

    1. Para crear un par de claves OpenSSH (formato PEM), usa la ssh-keygen utilidad.

      En la máquina cliente que se conectará al servidor SFTP, ejecuta el siguiente comando:

      ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME

      Reemplaza KEY_PAIR_NAME por un nombre para el par de claves, como sftp_user_key.

    2. Extrae la clave pública:

      cat ~/.ssh/KEY_PAIR_NAME.pub

    Formato PPK

    1. Para crear un par de claves PuTTY (formato PPK), usa la PuTTYgen herramienta.

      En la máquina cliente que se conectará al servidor SFTP, ejecuta el siguiente comando:

      puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk

      Reemplaza KEY_PAIR_NAME por un nombre para el par de claves, como sftp_user_key.

    2. Extrae la clave pública:

      puttygen -L KEY_PAIR_NAME.ppk

Roles obligatorios

Para obtener el permiso que necesitas para actualizar usuarios de SFTP, pídele a tu administrador que te otorgue el rol de IAM Administrador de FTP (roles/ftp.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el ftp.users.update permiso, que se requiere para actualizar usuarios de SFTP.

También puedes obtener este permiso con roles personalizados o otros roles predefinidos.

Actualiza las claves SSH de un usuario de SFTP

gcloud

Para actualizar las claves SSH de un usuario de SFTP, ejecuta el gcloud alpha storage ftp users update comando.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • CREDENTIAL_NAME: Un nombre único para identificar las credenciales del usuario.
  • SSH_PUBLIC_KEY: El cuerpo de la clave pública SSH del usuario, en formato OpenSSH. Por ejemplo, ssh-rsa AAAAB3NzaC1ycRexample....
  • USERNAME: El nombre de usuario de SFTP.
  • LOCATION_ID: La ubicación del servidor, como us-west1.
  • SERVER_ID: El ID del servidor.

Para configurar varias claves públicas para un usuario, proporciona varias credenciales en el credentials.json archivo.

Guarda el siguiente código en un archivo llamado credentials.json.

[
  {
    "credentialName": "CREDENTIAL_NAME",
    "credentialType": "PUBLIC_KEY",
    "sshPublicKeyBody": "SSH_PUBLIC_KEY"
  }
]

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID \
    --server=SERVER_ID --user-credentials-from-file=credentials.json

Windows (PowerShell)

gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID `
    --server=SERVER_ID --user-credentials-from-file=credentials.json

Windows (cmd.exe)

gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ^
    --server=SERVER_ID --user-credentials-from-file=credentials.json
La actualización del usuario tarda unos segundos.

REST

Para actualizar las claves SSH de un usuario de SFTP, usa el servers.users.patch método. En el parámetro de consulta updateMask, proporciona el campo userCredentials.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el Google Cloud ID del proyecto del servidor.
  • LOCATION_ID: La ubicación del servidor, como us-west1.
  • SERVER_ID: El ID del servidor.
  • USERNAME: El nombre de usuario de SFTP.
  • CREDENTIAL_NAME: Un nombre único para identificar las credenciales del usuario.
  • SSH_PUBLIC_KEY: El cuerpo de la clave pública SSH del usuario, en formato OpenSSH. Por ejemplo, ssh-rsa AAAAB3NzaC1ycRexample....

Para configurar varias claves públicas para un usuario, proporciona varias credenciales en la userCredentials lista.

Método HTTP y URL:

PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials

Cuerpo JSON de la solicitud:

{
  "userCredentials": [
    {
      "credentialName": "CREDENTIAL_NAME",
      "credentialType": "PUBLIC_KEY",
      "sshPublicKeyBody": "SSH_PUBLIC_KEY"
    }
  ]
}

Para enviar tu solicitud, expande una de estas opciones:

La respuesta identifica una operación de larga duración. La actualización del usuario tarda unos segundos.