更新 SFTP 使用者的安全殼層金鑰

本文說明如何更新 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"
    }
  ]
}

請展開以下其中一個選項,以傳送要求:

回應會識別長時間執行的作業。系統需要幾秒鐘的時間才能更新使用者。