SFTP ユーザーの SSH 認証鍵を更新する

このドキュメントでは、Cloud FTP ユーザーが SFTP サーバーへの接続に使用できる Secure Shell(SSH)認証鍵を更新する方法について説明します。

始める前に

  • サーバーへの接続に使用する各 SSH 認証鍵ペアから、ユーザーの公開鍵を取得します。ユーザーは最大 10 個の公開鍵を持つことができます。

    ユーザーが SSH 認証鍵ペアを持っていない場合は、次の手順で生成します。

    SSH 認証鍵ペアを生成する

    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 ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、SFTP ユーザーの更新に必要な ftp.users.update 権限が含まれています。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

SFTP ユーザーの SSH 認証鍵を更新する

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 公開鍵の本文。例: ssh-rsa AAAAB3NzaC1ycRexample...

ユーザーに複数の公開鍵を構成するには、 userCredentials リストに複数の認証情報を指定します。

HTTP メソッドと URL:

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"
    }
  ]
}

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスで長時間実行オペレーションを識別できます。ユーザーが更新されるまでに数秒かかります。