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
-
Para crear un par de claves OpenSSH (formato PEM), usa la
ssh-keygenutilidad.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_NAMEpor un nombre para el par de claves, comosftp_user_key. -
Extrae la clave pública:
cat ~/.ssh/KEY_PAIR_NAME.pub
Formato PPK
-
Para crear un par de claves PuTTY (formato PPK), usa la
PuTTYgenherramienta.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_NAMEpor un nombre para el par de claves, comosftp_user_key. -
Extrae la clave pública:
puttygen -L KEY_PAIR_NAME.ppk
-
Roles obligatorios
Para obtener el permiso que
necesitas para actualizar a los 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 a los 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: Es un nombre único para identificar las credenciales del usuario.
- SSH_PUBLIC_KEY: Es el cuerpo de la clave pública SSH del usuario, en formato OpenSSH. Por
ejemplo,
ssh-rsa AAAAB3NzaC1ycRexample.... - USERNAME: Es el nombre de usuario de SFTP.
- LOCATION_ID: Es la ubicación del servidor, como
us-west1. - SERVER_ID: Es 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
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: Es el Google Cloud ID del proyecto del servidor.
- LOCATION_ID: Es la ubicación del servidor, como
us-west1. - SERVER_ID: Es el ID del servidor.
- USERNAME: Es el nombre de usuario de SFTP.
- CREDENTIAL_NAME: Es un nombre único para identificar las credenciales del usuario.
- SSH_PUBLIC_KEY: Es 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.Bibliotecas cliente
C#
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPC#.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de GoCloud FTP.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPJava.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPNode.js.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPPHP.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPPython.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta Bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de RubyCloud FTP.
Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.