Memperbarui kunci SSH untuk pengguna SFTP

Dokumen ini menunjukkan cara memperbarui kunci Secure Shell (SSH) yang dapat digunakan pengguna Cloud FTP untuk terhubung ke server SFTP.

Sebelum memulai

  • Dapatkan kunci publik pengguna dari setiap pasangan kunci SSH yang akan mereka gunakan untuk terhubung ke server. Pengguna dapat memiliki maksimal 10 kunci publik.

    Jika pengguna tidak memiliki pasangan kunci SSH, gunakan langkah-langkah berikut untuk membuatnya.

    Membuat pasangan kunci SSH

    Format kunci mana yang Anda butuhkan?

    Format kunci yang Anda perlukan bergantung pada klien yang Anda gunakan untuk terhubung ke server SFTP. Untuk mengetahui informasi selengkapnya, lihat Klien SFTP yang didukung.

    Format PEM

    1. Untuk membuat pasangan kunci OpenSSH (format PEM), gunakan utilitas ssh-keygen.

      Di mesin klien yang akan terhubung ke server SFTP, jalankan perintah berikut:

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

      Ganti KEY_PAIR_NAME dengan nama untuk pasangan kunci, seperti sftp_user_key.

    2. Ekstrak kunci publik:

      cat ~/.ssh/KEY_PAIR_NAME.pub

    Format PPK

    1. Untuk membuat pasangan kunci PuTTY (format PPK), gunakan alat PuTTYgen.

      Di mesin klien yang akan terhubung ke server SFTP, jalankan perintah berikut:

      puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk

      Ganti KEY_PAIR_NAME dengan nama untuk pasangan kunci, seperti sftp_user_key.

    2. Ekstrak kunci publik:

      puttygen -L KEY_PAIR_NAME.ppk

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna memperbarui pengguna SFTP, minta administrator untuk memberi Anda peran IAM FTP Admin (roles/ftp.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin ftp.users.update, yang diperlukan untuk memperbarui pengguna SFTP.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Memperbarui kunci SSH pengguna SFTP

gcloud

Untuk memperbarui kunci SSH pengguna SFTP, jalankan perintah gcloud alpha storage ftp users update.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • CREDENTIAL_NAME: nama unik untuk mengidentifikasi kredensial pengguna.
  • SSH_PUBLIC_KEY: isi kunci publik SSH pengguna, dalam format OpenSSH. Contoh, ssh-rsa AAAAB3NzaC1ycRexample....
  • USERNAME: nama pengguna SFTP pengguna.
  • LOCATION_ID: lokasi server, seperti us-west1.
  • SERVER_ID: ID server.

Untuk mengonfigurasi beberapa kunci publik bagi pengguna, berikan beberapa kredensial dalam file credentials.json.

Simpan konten berikut ini dalam file yang bernama credentials.json:

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

Jalankan perintah berikut:

Linux, macOS, atau 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
Pengguna memerlukan waktu beberapa detik untuk diperbarui.

REST

Untuk memperbarui kunci SSH pengguna SFTP, gunakan metode servers.users.patch. Di parameter kueri updateMask, berikan kolom userCredentials.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Google Cloud project ID server.
  • LOCATION_ID: lokasi server, seperti us-west1.
  • SERVER_ID: ID server.
  • USERNAME: nama pengguna SFTP pengguna.
  • CREDENTIAL_NAME: nama unik untuk mengidentifikasi kredensial pengguna.
  • SSH_PUBLIC_KEY: isi kunci publik SSH pengguna, dalam format OpenSSH. Contoh, ssh-rsa AAAAB3NzaC1ycRexample....

Untuk mengonfigurasi beberapa kunci publik bagi pengguna, berikan beberapa kredensial dalam daftar userCredentials.

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons mengidentifikasi operasi yang berjalan lama. Pengguna akan diperbarui dalam beberapa detik.