In diesem Dokument wird gezeigt, wie Sie die Secure Shell-Schlüssel (SSH) aktualisieren, die ein Cloud FTP-Nutzer verwenden kann, um eine Verbindung zu einem SFTP-Server herzustellen.
Hinweis
Rufen Sie den öffentlichen Schlüssel des Nutzers aus jedem SSH-Schlüsselpaar ab, das er für die Verbindung zum Server verwendet. Ein Nutzer kann maximal 10 öffentliche Schlüssel haben.
Wenn der Nutzer kein SSH-Schlüsselpaar hat, führen Sie die folgenden Schritte aus, um eines zu generieren.
SSH-Schlüsselpaar generieren
Welches Schlüsselformat benötigen Sie?
Das erforderliche Schlüsselformat hängt davon ab, welchen Client Sie verwenden, um eine Verbindung zum SFTP-Server herzustellen. Weitere Informationen finden Sie unter Unterstützte SFTP-Clients.
PEM-Format
-
Verwenden Sie das
ssh-keygenDienstprogramm, um ein OpenSSH-Schlüsselpaar (PEM-Format) zu erstellen.Führen Sie auf dem Clientcomputer, der eine Verbindung zum SFTP-Server herstellt, den folgenden Befehl aus:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
Ersetzen Sie
KEY_PAIR_NAMEdurch einen Namen für das Schlüsselpaar, z. B.sftp_user_key. -
Extrahieren Sie den öffentlichen Schlüssel:
cat ~/.ssh/KEY_PAIR_NAME.pub
PPK-Format
-
Verwenden Sie das
PuTTYgenTool, um ein PuTTY-Schlüsselpaar (PPK-Format) zu erstellen.Führen Sie auf dem Clientcomputer, der eine Verbindung zum SFTP-Server herstellt, den folgenden Befehl aus:
puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk
Ersetzen Sie
KEY_PAIR_NAMEdurch einen Namen für das Schlüsselpaar, z. B.sftp_user_key. -
Extrahieren Sie den öffentlichen Schlüssel:
puttygen -L KEY_PAIR_NAME.ppk
-
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle FTP-Administrator (roles/ftp.admin) für Ihr Projekt zuzuweisen, um die Berechtigung zum Aktualisieren von SFTP-Nutzern zu erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die
ftp.users.update
Berechtigung,
die zum
Aktualisieren von SFTP-Nutzern erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
SSH-Schlüssel eines SFTP-Nutzers aktualisieren
gcloud
Führen Sie den
gcloud alpha storage ftp users update Befehl aus, um die SSH-Schlüssel eines SFTP-Nutzers zu aktualisieren.
Nehmen Sie die folgenden Ersetzungen vor, bevor Sie die Befehlsdaten unten verwenden:
- CREDENTIAL_NAME: Ein eindeutiger Name zur Identifizierung der Nutzeranmeldedaten.
- SSH_PUBLIC_KEY: Der Text des öffentlichen SSH-Schlüssels des Nutzers im OpenSSH-Format. Beispiel:
ssh-rsa AAAAB3NzaC1ycRexample.... - USERNAME: Der Nutzername des SFTP-Nutzers.
- LOCATION_ID: Der Standort des Servers, z. B.
us-west1. - SERVER_ID: Die Server-ID.
Wenn Sie mehrere öffentliche Schlüssel für einen Nutzer konfigurieren möchten, geben Sie in der
credentials.json Datei mehrere Anmeldedaten an.
Speichern Sie den folgenden Inhalt in einer Datei mit dem Namen credentials.json:
[ { "credentialName": "CREDENTIAL_NAME", "credentialType": "PUBLIC_KEY", "sshPublicKeyBody": "SSH_PUBLIC_KEY" } ]
Führen Sie den folgenden Befehl aus:
Linux, macOS oder 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
Verwenden Sie die
servers.users.patch Methode, um die SSH-Schlüssel eines SFTP-Nutzers zu aktualisieren.
Geben Sie im Abfrageparameter updateMask das Feld userCredentials an.
Nehmen Sie die folgenden Ersetzungen vor, bevor Sie die Anfragedaten verwenden:
- PROJECT_ID: die Google Cloud Projekt-ID des Servers.
- LOCATION_ID: Der Standort des Servers, z. B.
us-west1. - SERVER_ID: Die Server-ID.
- USERNAME: Der Nutzername des SFTP-Nutzers.
- CREDENTIAL_NAME: Ein eindeutiger Name zur Identifizierung der Nutzeranmeldedaten.
- SSH_PUBLIC_KEY: Der Text des öffentlichen SSH-Schlüssels des Nutzers im OpenSSH-Format. Beispiel:
ssh-rsa AAAAB3NzaC1ycRexample....
Wenn Sie mehrere öffentliche Schlüssel für einen Nutzer konfigurieren möchten, geben Sie in der
userCredentials Liste mehrere Anmeldedaten an.
HTTP-Methode und URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials
JSON-Text der Anfrage:
{
"userCredentials": [
{
"credentialName": "CREDENTIAL_NAME",
"credentialType": "PUBLIC_KEY",
"sshPublicKeyBody": "SSH_PUBLIC_KEY"
}
]
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort identifiziert einen Vorgang mit langer Ausführungszeit. Es dauert einige Sekunden, bis der Nutzer aktualisiert wird.