本文說明如何更新 Cloud FTP 使用者可用於連線至 SFTP 伺服器的安全殼層 (SSH) 金鑰。
事前準備
從使用者用來連線至伺服器的每個 SSH 金鑰組中,取得使用者的公開金鑰。使用者最多可有 10 個公開金鑰。
如果使用者沒有安全殼層金鑰組,請按照下列步驟產生。
產生安全殼層 (SSH) 金鑰組
如要產生安全殼層金鑰組,請使用
ssh-keygen公用程式。在要連線至 SFTP 伺服器的用戶端機器上,執行下列指令:ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
將
KEY_PAIR_NAME替換為金鑰配對的名稱,例如sftp_user_key。公開金鑰會儲存在
~/.ssh/KEY_PAIR_NAME.pub檔案中。
必要的角色
如要取得更新 SFTP 使用者所需的權限,請要求管理員在專案中授予您「FTP 管理員」(roles/ftp.admin) IAM 角色。 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備 ftp.users.update 權限,可更新 SFTP 使用者。
更新 SFTP 使用者的安全殼層金鑰
REST
如要更新 SFTP 使用者的 SSH 金鑰,請使用 servers.users.patch 方法。在 updateMask 查詢參數中,提供 userCredentials 欄位。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:伺服器的 Google Cloud 專案 ID。
- LOCATION_ID:伺服器的位置,例如
us-west1。 - SERVER_ID:伺服器 ID。
- USERNAME:SFTP 使用者的使用者名稱。
- CREDENTIAL_NAME:用於識別使用者憑證的專屬名稱。
- SSH_PUBLIC_KEY:使用者安全殼層公開金鑰的主體,格式為 OpenSSH。例如:
ssh-rsa AAAAB3NzaC1ycRexample...。
如要為使用者設定多個公開金鑰,請在 userCredentials 清單中提供多個憑證。
HTTP 方法和網址:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials
JSON 要求主體:
{
"userCredentials": [
{
"credentialName": "CREDENTIAL_NAME",
"credentialType": "PUBLIC_KEY",
"sshPublicKeyBody": "SSH_PUBLIC_KEY"
}
]
}
請展開以下其中一個選項,以傳送要求:
回應會識別長時間執行的作業。系統需要幾秒鐘的時間才能更新使用者。