Menambahkan kunci SSH ke VM

Dokumen ini menjelaskan cara menambahkan kunci SSH ke instance virtual machine (VM).

Sebelum memulai

  • Jika Anda belum melakukannya, buat pasangan kunci SSH.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Trusted Cloud by S3NS layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
    2. Set a default region and zone.

    Terraform

    Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

      Create local authentication credentials for your user account:

      gcloud auth application-default login

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Trusted Cloud .

Menambahkan kunci SSH ke VM yang menggunakan kunci SSH berbasis metadata

VM menyimpan kunci SSH di project Compute Engine dan metadata instance. Jika Login OS diaktifkan untuk VM, agen tamu VM akan mengabaikan kunci yang disimpan dalam metadata.

Anda dapat menggunakan kunci SSH yang disimpan dalam metadata project untuk mengakses semua VM dalam project. Anda dapat menggunakan kunci SSH yang disimpan dalam metadata instance untuk mengakses VM individual.

Compute Engine tidak otomatis menghapus kunci SSH yang sudah tidak berlaku dari metadata pada waktu habis masa berlakunya, tetapi kunci tersebut tidak dapat digunakan untuk membuat koneksi baru ke VM. Jika ingin menghapus kunci yang habis masa berlakunya dari metadata, baca artikel Menghapus kunci SSH dari VM yang menggunakan kunci berbasis metadata.

Anda dapat menambahkan kunci SSH publik ke metadata project atau instance VM menggunakan Trusted Cloud konsol, gcloud CLI, atau REST. Anda tidak dapat menetapkan nilai metadata zonal untuk kunci SSH.

Menambahkan kunci SSH ke metadata project

Anda dapat menambahkan kunci SSH publik ke metadata project untuk mengakses semua VM dalam project, kecuali VM yang memblokir kunci SSH di tingkat project. Untuk penjelasan selengkapnya tentang cara memblokir kunci SSH di tingkat project, baca Memblokir kunci SSH dari VM yang menggunakan kunci SSH berbasis metadata.

Konsol

Untuk menambahkan kunci SSH publik ke metadata project menggunakan konsolTrusted Cloud , lakukan langkah berikut:

  1. Di konsol Trusted Cloud , buka halaman Metadata.

    Buka Metadata

  2. Klik tab SSH keys.

  3. Klik Edit.

  4. Klik Tambahkan item.

  5. Di kolom SSH key yang terbuka, tambahkan kunci SSH publik Anda. Kunci harus dalam salah satu format berikut:

    • Format kunci tanpa waktu habis masa berlaku:

      KEY_VALUE USERNAME
    • Format kunci dengan waktu habis masa berlaku:

      KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

    Ganti kode berikut:

    • KEY_VALUE: nilai kunci SSH publik
    • USERNAME: nama pengguna Anda. Contoh cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

      Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.

      Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

    • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000
  6. Klik Save.

gcloud

In the Trusted Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Jika sudah ada kunci SSH di metadata project, Anda harus menambahkannya kembali ke metadata project setiap kali menambahkan kunci SSH baru menggunakan gcloud CLI. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.

    Untuk menambahkan kunci SSH publik ke metadata project menggunakan gcloud CLI, lakukan langkah berikut:

    1. Jika project Anda sudah memiliki kunci SSH publik tingkat project, dapatkan kunci tersebut dari metadata dan tambahkan ke file baru:

      1. Jalankan perintah gcloud compute project-info describe untuk mendapatkan kunci SSH untuk project:

        gcloud compute project-info describe \
         --format="value(commonInstanceMetadata[items][ssh-keys])"
        

        Output-nya mirip dengan berikut ini:

        username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...
        
      2. Salin nilai metadata ssh-keys.

      3. Buat dan buka file teks baru di workstation Anda.

      4. Di dalam file tersebut, tempel daftar kunci yang baru saja Anda salin.

      5. Tambahkan kunci baru Anda di akhir daftar, dalam salah satu format berikut:

        • Format kunci tanpa waktu habis masa berlaku:

          USERNAME:KEY_VALUE
        • Format kunci dengan waktu habis masa berlaku:

          USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

        Ganti kode berikut:

        • KEY_VALUE: nilai kunci SSH publik
        • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

          Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

          Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

        • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000
      6. Simpan dan tutup file tersebut.

    2. Jalankan perintah gcloud compute project-info add-metadata untuk menetapkan nilai ssh-keys tingkat project:

      gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
      

      Ganti KEY_FILE dengan salah satu dari berikut ini:

      • Jalur ke file yang Anda buat pada langkah sebelumnya, jika project sudah memiliki kunci SSH
      • Jalur ke file kunci SSH publik baru, jika project tidak memiliki kunci SSH

Terraform

Untuk menambahkan kunci SSH publik ke metadata project Anda, gunakan resource google_compute_project_metadata.

resource "google_compute_project_metadata" "default" {
  metadata = {
    ssh-keys = <<EOF
      dev:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT dev
      test:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT test
    EOF
  }
}

REST

Jika sudah ada kunci SSH di metadata project, Anda harus menambahkannya kembali ke metadata project setiap kali menambahkan kunci SSH baru menggunakan Compute Engine API. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.

Untuk menambahkan kunci SSH publik ke metadata project menggunakan Compute Engine API, lakukan langkah berikut:

  1. Dapatkan nilai fingerprint dan ssh-keys dari metadata menggunakan metode projects.get

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID Anda.

    Responsnya mirip dengan hal berikut ini:

    ...
    "fingerprint": "utgYE_XWtE8=",
    "items": [
    {
     "key": "ssh-keys",
     "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}"
    }
    ]
    ...
    
  2. Tambahkan nilai ssh-keys baru menggunakan metode projects.setCommonInstanceMetadata.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata
    
    {
    "items": [
     {
      "key": "ssh-keys",
      "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY"
     }
    ]
    "fingerprint": "FINGERPRINT"
    }
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda
    • EXISTING_SSH_KEYS: nilai kunci ssh-keys dari respons permintaan projects.get
    • FINGERPRINT: nilai fingerprint dari respons permintaan projects.get
    • NEW_SSH_KEY: kunci SSH baru, dalam salah satu format berikut:

      • Format kunci tanpa waktu habis masa berlaku:

        USERNAME:KEY_VALUE
      • Format kunci dengan waktu habis masa berlaku:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Ganti kode berikut:

      • KEY_VALUE: nilai kunci SSH publik
      • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

        Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

        Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

      • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000

Menambahkan kunci SSH ke metadata instance

Anda dapat menambahkan kunci SSH publik ke metadata instance saat membuat VM atau setelah membuat VM.

Menambahkan kunci SSH ke metadata instance selama pembuatan VM

Anda dapat menambahkan kunci SSH ke metadata instance selama pembuatan VM, menggunakan konsolTrusted Cloud , gcloud CLI, atau Compute Engine API.

Konsol

Untuk membuat instance dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan konsol Trusted Cloud , lakukan langkah berikut:

  1. Di konsol Trusted Cloud , buka halaman Create an instance.

    Buka halaman Buat instance

  2. Untuk menambahkan kunci SSH publik ke metadata instance, lakukan langkah berikut:

    1. Di menu navigasi, klik Security.

    2. Perluas bagian Kelola akses.

    3. Untuk menonaktifkan Login OS, hapus centang pada kotak Kontrol akses VM melalui izin IAM.

    4. Jika Anda ingin mengizinkan kunci SSH publik dalam metadata project untuk mengakses instance, hapus centang pada kotak Block project-wide SSH keys.

    5. Di bagian Add manually generated SSH keys, klik Add item.

    6. Tambahkan kunci publik Anda di kotak teks. Kunci ini harus dalam salah satu format berikut:

      • Format kunci tanpa waktu habis masa berlaku:

        KEY_VALUE USERNAME
      • Format kunci dengan waktu habis masa berlaku:

        KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Ganti kode berikut:

      • KEY_VALUE: nilai kunci SSH publik
      • USERNAME: nama pengguna Anda. Contoh cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

        Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.

        Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

      • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000
  3. Opsional: Tentukan opsi konfigurasi lainnya. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.

  4. Untuk membuat dan memulai instance, klik Create.

gcloud

  1. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Untuk membuat VM dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan gcloud CLI, gunakan perintah gcloud compute instances create:

    gcloud compute instances create VM_NAME \
       --metadata=ssh-keys=PUBLIC_KEY
    

    Ganti kode berikut:

    • VM_NAME: nama VM baru
    • PUBLIC_KEY: kunci SSH publik Anda, dalam salah satu format berikut:

      • Format kunci tanpa waktu habis masa berlaku:

        USERNAME:KEY_VALUE
      • Format kunci dengan waktu habis masa berlaku:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Ganti kode berikut:

      • KEY_VALUE: nilai kunci SSH publik
      • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

        Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

        Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

      • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000

    Anda dapat menambahkan beberapa kunci SSH menggunakan flag --metadata-from-file=ssh-keys=FILE_PATH. Dalam file tersebut, tambahkan daftar nama pengguna dan kunci SSH publik dalam salah satu format sebelumnya.

  3. Terraform

    Untuk menambahkan kunci SSH publik ke metadata instance, gunakan resource google_compute_instance.

    resource "google_compute_instance" "default" {
      name         = "my-vm"
      machine_type = "n1-standard-1"
      zone         = "us-central1-a"
    
      boot_disk {
        initialize_params {
          image = "ubuntu-1404-trusty-v20160627"
        }
      }
    
      # Local SSD disk
      scratch_disk {
        interface = "SCSI"
      }
    
      network_interface {
        network = "default"
        access_config {}
      }
      metadata = {
        "ssh-keys" = <<EOT
          dev:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT dev
          test:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg6UtHDNyMNAh0GjaytsJdrUxjtLy3APXqZfNZhvCeT test
         EOT
      }
    }

    REST

    Untuk membuat VM dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan Compute Engine, buat permintaan POST ke metode instances.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    

    Ganti kode berikut:

    • PROJECT_ID: the project ID
    • ZONE: zona VM

    Dalam isi permintaan, berikan nama pengguna dan kunci SSH publik di properti items:

    ...
    {
     "items": [
        {
         "key": "ssh-keys",
         "value": "PUBLIC_KEY"
        }
       ]
    }
    ...
    

    Ganti PUBLIC_KEY dengan kunci publik Anda, dalam salah satu format berikut:

    • Format kunci tanpa waktu habis masa berlaku:

      USERNAME:KEY_VALUE
    • Format kunci dengan waktu habis masa berlaku:

      USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

    Ganti kode berikut:

    • KEY_VALUE: nilai kunci SSH publik
    • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

      Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

      Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

    • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000

    Anda dapat menambahkan beberapa kunci SSH dengan menambahkan \n di antara kunci.

Menambahkan kunci SSH ke metadata instance setelah pembuatan VM

Anda dapat menambahkan kunci SSH ke metadata instance setelah pembuatan VM, menggunakan Trusted Cloud konsol, gcloud CLI, atau Compute Engine API.

Konsol

Untuk menambahkan kunci SSH publik ke metadata instance menggunakan konsolTrusted Cloud , lakukan langkah berikut:

  1. Di konsol Trusted Cloud , buka halaman VM instances.

    Buka Instance VM

  2. Klik nama VM tempat Anda ingin menambahkan kunci SSH.

  3. Klik Edit.

  4. Di bagian SSH Keys, klik Add item.

  5. Tambahkan kunci publik Anda ke dalam kotak teks. Kunci ini harus dalam salah satu format berikut:

    • Format kunci tanpa waktu habis masa berlaku:

      KEY_VALUE USERNAME
    • Format kunci dengan waktu habis masa berlaku:

      KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

    Ganti kode berikut:

    • KEY_VALUE: nilai kunci SSH publik
    • USERNAME: nama pengguna Anda. Contoh cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

      Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.

      Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

    • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000
  6. Klik Save.

gcloud

  1. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Jika sudah ada kunci SSH dalam metadata instance, Anda harus menambahkannya kembali ke metadata instance setiap kali menambahkan kunci SSH baru menggunakan gcloud CLI. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.

    Untuk menambahkan kunci SSH publik ke metadata instance menggunakan gcloud CLI, lakukan langkah berikut:

    1. Jika VM Anda sudah memiliki kunci SSH publik tingkat instance, dapatkan kunci tersebut dari metadata dan tambahkan ke file baru:

      1. Jalankan perintah gcloud compute instances describe untuk mendapatkan metadata untuk VM:

        gcloud compute instances describe VM_NAME
        

        Ganti VM_NAME dengan nama VM tempat Anda ingin menambahkan atau menghapus kunci SSH publik.

        Output-nya mirip dengan berikut ini:

        ...
        metadata:
        ...
        - key: ssh-keys
         value: |-
           cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...
           baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}
        ...
        
      2. Salin nilai metadata ssh-keys.

      3. Buat dan buka file teks baru di workstation Anda.

      4. Di dalam file tersebut, tempel daftar kunci yang baru saja Anda salin.

      5. Tambahkan kunci baru Anda di akhir daftar, dalam salah satu format berikut:

      • Format kunci tanpa waktu habis masa berlaku:

        USERNAME:KEY_VALUE
      • Format kunci dengan waktu habis masa berlaku:

        USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

      Ganti kode berikut:

      • KEY_VALUE: nilai kunci SSH publik
      • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

        Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

        Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

      • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000
      1. Simpan dan tutup file tersebut.
    2. Jalankan perintah gcloud compute instances add-metadata untuk menetapkan nilai ssh-keys:

      gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
      

      Ganti kode berikut:

      • VM_NAME: VM yang ingin Anda tambahi kunci SSH
      • KEY_FILE dengan salah satu dari berikut ini:
      • Jalur ke file yang Anda buat pada langkah sebelumnya, jika VM sudah memiliki kunci SSH
      • Jalur ke file kunci SSH publik baru, jika VM tidak memiliki kunci SSH
  3. REST

    Jika sudah ada kunci SSH dalam metadata instance, Anda harus menambahkannya kembali ke metadata instance setiap kali menambahkan kunci SSH baru menggunakan Compute Engine API. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.

    Untuk menambahkan kunci SSH publik ke metadata instance menggunakan Compute Engine API, lakukan langkah berikut:

    1. Dapatkan nilai fingerprint dan ssh-keys dari metadata menggunakan metode instances.get.

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
      

      Ganti kode berikut:

      • PROJECT_ID: project ID Anda
      • ZONE: zona VM tempat Anda menambahkan kunci SSH
      • VM_NAME: VM tempat Anda menambahkan kunci SSH

      Responsnya mirip dengan hal berikut ini:

      ...
      "fingerprint": "utgYE_XWtE8=",
      "items": [
      {
       "key": "ssh-keys",
        "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}"
      }
      ]
      ...
      
    2. Tambahkan nilai ssh-keys baru menggunakan metode instances.setMetadata.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata
      
      {
      "items": [
       {
        "key": "ssh-keys",
        "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY"
       }
      ]
      "fingerprint": "FINGERPRINT"
      }
      

      Ganti kode berikut:

      • PROJECT_ID: ID project Anda
      • EXISTING_SSH_KEYS: nilai kunci ssh-keys dari respons permintaan instances.get
      • FINGERPRINT: fingerprint dari respons permintaan projects.get
      • NEW_SSH_KEY: kunci SSH baru, dalam salah satu format berikut:

        • Format kunci tanpa waktu habis masa berlaku:

          USERNAME:KEY_VALUE
        • Format kunci dengan waktu habis masa berlaku:

          USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}

        Ganti kode berikut:

        • KEY_VALUE: nilai kunci SSH publik
        • USERNAME: nama pengguna Anda. Misalnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.

          Untuk VM Linux, USERNAME tidak boleh root, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.

          Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format DOMAIN\. Misalnya, pengguna cloudysanfrancisco dalam AD ad.example.com memiliki USERNAME dari example\cloudysanfrancisco.

        • EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh: 2021-12-04T20:12:00+0000

Apa langkah selanjutnya?