Mettre à jour les clés SSH pour un utilisateur SFTP

Ce document explique comment mettre à jour les clés Secure Shell (SSH) qu'un utilisateur Cloud FTP peut utiliser pour se connecter à un serveur SFTP.

Avant de commencer

  • Obtenez la clé publique de l'utilisateur à partir de chaque paire de clés SSH qu'il utilisera pour se connecter au serveur. Un utilisateur peut disposer d'un maximum de 10 clés publiques.

    Si l'utilisateur ne dispose pas d'une paire de clés SSH, procédez comme suit pour en générer une.

    Générer une paire de clés SSH

    Pour générer une paire de clés SSH, utilisez l'utilitaire ssh-keygen. Sur la machine cliente qui se connectera au serveur SFTP, exécutez la commande suivante :

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

    Remplacez KEY_PAIR_NAME par un nom pour la paire de clés, tel que sftp_user_key.

    La clé publique est enregistrée dans le fichier ~/.ssh/KEY_PAIR_NAME.pub.

Rôles requis

Pour obtenir l'autorisation nécessaire pour mettre à jour les utilisateurs SFTP, demandez à votre administrateur de vous accorder le rôle IAM Administrateur FTP (roles/ftp.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l' ftp.users.update autorisation, qui est requise pour mettre à jour les utilisateurs SFTP.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Mettre à jour les clés SSH d'un utilisateur SFTP

REST

Pour mettre à jour les clés SSH d'un utilisateur SFTP, utilisez la servers.users.patch méthode. Dans le paramètre de requête updateMask, indiquez le champ userCredentials.

Avant d'utiliser les données de la requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet du serveur. Google Cloud
  • LOCATION_ID : emplacement du serveur, tel que us-west1.
  • SERVER_ID : ID du serveur.
  • USERNAME : nom d'utilisateur SFTP.
  • CREDENTIAL_NAME : nom unique permettant d'identifier les identifiants de l'utilisateur.
  • SSH_PUBLIC_KEY : corps de la clé SSH publique de l'utilisateur, au format OpenSSH. Par exemple, ssh-rsa AAAAB3NzaC1ycRexample....

Pour configurer plusieurs clés publiques pour un utilisateur, fournissez plusieurs identifiants dans la userCredentials liste.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

La réponse identifie une opération de longue durée. La mise à jour de l'utilisateur prend quelques secondes.