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