Aggiornare le chiavi SSH per un utente SFTP

Questo documento mostra come aggiornare le chiavi Secure Shell (SSH) che un utente di Cloud FTP può utilizzare per connettersi a un server SFTP.

Prima di iniziare

  • Recupera la chiave pubblica dell'utente da ogni coppia di chiavi SSH che utilizzerà per connettersi al server. Un utente può avere al massimo 10 chiavi pubbliche.

    Se l'utente non ha una coppia di chiavi SSH, segui questi passaggi per generarne una.

    Genera una coppia di chiavi SSH

    Di quale formato della chiave hai bisogno?

    Il formato della chiave di cui hai bisogno dipende dal client che utilizzi per connetterti al server SFTP. Per saperne di più, consulta Client SFTP supportati.

    Formato PEM

    1. Per creare una coppia di chiavi OpenSSH (formato PEM), utilizza l' ssh-keygen utilità.

      Sulla macchina client che si connetterà al server SFTP, esegui questo comando:

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

      Sostituisci KEY_PAIR_NAME con un nome per la coppia di chiavi, ad esempio sftp_user_key.

    2. Estrai la chiave pubblica:

      cat ~/.ssh/KEY_PAIR_NAME.pub

    Formato PPK

    1. Per creare una coppia di chiavi PuTTY (formato PPK), utilizza lo PuTTYgen strumento.

      Sulla macchina client che si connetterà al server SFTP, esegui questo comando:

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

      Sostituisci KEY_PAIR_NAME con un nome per la coppia di chiavi, ad esempio sftp_user_key.

    2. Estrai la chiave pubblica:

      puttygen -L KEY_PAIR_NAME.ppk

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per aggiornare gli utenti SFTP, chiedi all'amministratore di concederti il ruolo IAM FTP Admin (roles/ftp.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione ftp.users.update , necessaria per aggiornare gli utenti SFTP.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Aggiorna le chiavi SSH di un utente SFTP

gcloud

Per aggiornare le chiavi SSH di un utente SFTP, esegui il gcloud alpha storage ftp users update comando.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • CREDENTIAL_NAME: un nome univoco per identificare le credenziali utente.
  • SSH_PUBLIC_KEY: il corpo della chiave pubblica SSH dell'utente, in formato OpenSSH. Ad esempio, ssh-rsa AAAAB3NzaC1ycRexample....
  • USERNAME: il nome utente SFTP dell'utente.
  • LOCATION_ID: la località del server, ad esempio us-west1.
  • SERVER_ID: l'ID del server.

Per configurare più chiavi pubbliche per un utente, fornisci più credenziali nel credentials.json file.

Salva i seguenti contenuti in un file denominato credentials.json:

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

Esegui questo 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
L'aggiornamento dell'utente richiede alcuni secondi.

REST

Per aggiornare le chiavi SSH di un utente SFTP, utilizza il servers.users.patch metodo. Nel parametro di query updateMask, fornisci il campo userCredentials.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: l'ID progetto del Google Cloud server.
  • LOCATION_ID: la località del server, ad esempio us-west1.
  • SERVER_ID: l'ID del server.
  • USERNAME: il nome utente SFTP dell'utente.
  • CREDENTIAL_NAME: un nome univoco per identificare le credenziali utente.
  • SSH_PUBLIC_KEY: il corpo della chiave pubblica SSH dell'utente, in formato OpenSSH. Ad esempio, ssh-rsa AAAAB3NzaC1ycRexample....

Per configurare più chiavi pubbliche per un utente, fornisci più credenziali nell' userCredentials elenco.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

La risposta identifica un' operazione a lunga esecuzione. L'aggiornamento dell'utente richiede alcuni secondi.