Dokumen ini menjelaskan cara mencegah pengguna mengakses instance virtual machine (VM) dengan menghapus dan memblokir kunci SSH dari VM.
Sebelum memulai
-
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
-
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
- Set a default region and zone.
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. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Trusted Cloud .
Menghapus kunci SSH
Anda dapat menghapus kunci SSH publik dari project atau metadata instance menggunakan konsolTrusted Cloud , gcloud CLI, atau Compute Engine API.
Setelah Anda menghapus kunci terakhir dari metadata untuk pengguna tertentu, atau kunci terakhir dalam metadata untuk pengguna tertentu sudah tidak berlaku, Compute Engine akan menghapus file
~/.ssh/authorized_keys
pengguna di VM.Menghapus kunci publik dari metadata project
Hapus kunci SSH publik dari metadata project untuk menghapus akses ke semua VM dalam project.
Saat menghapus kunci dari metadata menggunakan gcloud CLI dan Compute Engine API, Anda harus mengambil daftar kunci yang ada, mengedit daftar kunci untuk menghapus kunci yang tidak diinginkan, dan menimpa kunci lama dengan daftar kunci yang ingin Anda pertahankan, seperti yang dijelaskan di bagian berikut.
Konsol
Untuk menghapus kunci SSH publik dari metadata project menggunakan konsolTrusted Cloud , lakukan langkah berikut:
Di konsol Trusted Cloud , buka halaman Metadata.
Klik tab SSH keys.
Klik
Edit di bagian atas halaman.Buka kunci SSH yang ingin Anda hapus, lalu klik tombol hapus
di samping kunci SSH.Ulangi langkah ini untuk setiap kunci SSH yang ingin Anda hapus.
Klik Simpan.
gcloud
Untuk menghapus kunci SSH publik dari metadata project menggunakan gcloud CLI, lakukan langkah berikut:
Jalankan perintah
gcloud compute project-info describe
untuk mendapatkan metadata project:gcloud compute project-info describe
Outputnya mirip dengan yang 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"} ...Salin nilai metadata
ssh-keys
.Buat dan buka file teks baru di workstation Anda.
Di dalam file tersebut, tempel daftar kunci SSH yang baru saja Anda salin, lalu hapus kunci apa pun yang ingin dihapus dari metadata project.
Simpan dan tutup file tersebut.
Jalankan perintah
gcloud compute project-info add-metadata
untuk menetapkan nilaissh-keys
di seluruh project:gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Ganti
KEY_FILE
dengan salah satu dari yang berikut ini:- jalur ke file yang Anda buat di langkah sebelumnya, jika project memiliki kunci SSH yang ada
- jalur ke file kunci SSH publik baru, jika project tidak memiliki kunci SSH
REST
Untuk menghapus kunci SSH publik dari metadata project menggunakan Compute Engine API, lakukan hal berikut:
Gunakan metode
projects.get
untuk mendapatkan nilaifingerprint
danssh-keys
dari metadata.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Ganti
PROJECT_ID
dengan ID project Anda.Responsnya mirip dengan yang 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"}" } ] ...
Salin daftar nilai kunci SSH dan hapus kunci yang ingin dihapus.
Gunakan
projects.setCommonInstanceMetadata
untuk menghapus kunci SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS" } ] "fingerprint": "FINGERPRINT" }
Ganti kode berikut:
PROJECT_ID
: ID project AndaEXISTING_SSH_KEYS
: daftar kunci SSH yang ingin Anda pertahankanFINGERPRINT
: nilaifingerprint
dari respons permintaanprojects.get
Menghapus kunci SSH publik dari metadata instance
Hapus kunci SSH publik dari metadata instance untuk menghapus akses ke satu VM.
Saat menghapus kunci dari metadata menggunakan gcloud CLI dan Compute Engine API, Anda harus mengambil daftar kunci yang ada, mengedit daftar kunci untuk menghapus kunci yang tidak diinginkan, dan menimpa kunci lama dengan daftar kunci yang ingin disimpan, seperti yang dijelaskan di bagian berikut.
Konsol
Untuk menghapus kunci SSH publik dari metadata instance menggunakan konsolTrusted Cloud , lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman VM instances.
Klik nama VM yang ingin Anda hapus kuncinya.
Klik Edit.
Di bagian SSH Keys, klik Show and edit. Bagian ini akan diperluas untuk menampilkan semua kunci SSH publik level instance.
Klik tombol hapus
di samping kunci SSH yang ingin Anda hapus.Ulangi langkah ini untuk setiap kunci SSH yang ingin Anda hapus.
Klik Simpan.
gcloud
Untuk menghapus kunci SSH publik dari metadata instance menggunakan gcloud CLI, lakukan langkah berikut:
Jalankan perintah
gcloud compute instances describe
untuk mendapatkan metadata untuk VM:gcloud compute instances describe VM_NAME
Ganti VM_NAME dengan nama VM yang perlu Anda tambahkan atau hapus kunci SSH publik.
Outputnya mirip dengan yang 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"} ...Salin nilai metadata
ssh-keys
.Buat dan buka file teks baru di workstation lokal.
Di dalam file tersebut, tempel daftar kunci SSH yang baru saja Anda salin, lalu hapus kunci yang ingin dihapus.
Simpan dan tutup file tersebut.
Jalankan perintah
gcloud compute project-info add-metadata
untuk menetapkan nilaissh-keys
di seluruh project:gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Ganti kode berikut:
VM_NAME
: VM yang ingin Anda hapus kunci SSH-nyaKEY_FILE
: jalur ke file yang berisi daftar semua kunci SSH project
REST
Untuk menghapus kunci SSH publik dari metadata instance menggunakan Compute Engine API, lakukan hal berikut:
Gunakan metode
instances.get
untuk mendapatkan nilaifingerprint
danssh-keys
dari metadata.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ganti kode berikut:
PROJECT_ID
: ID project AndaZONE
: zona VM yang Anda tambahkan kunci SSH-nyaVM_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"}" } ] ...
Salin daftar nilai kunci SSH dan hapus kunci yang ingin dihapus.
Gunakan
instances.setMetadata
untuk menghapus kunci SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS } ] "fingerprint": "FINGERPRINT" }
Ganti kode berikut:
PROJECT_ID
: ID project AndaEXISTING_SSH_KEYS
: nilai kuncissh-keys
dari respons permintaanprojects.get
FINGERPRINT
: nilaifingerprint
dari respons permintaaninstances.get
Memblokir kunci SSH project dari VM yang menggunakan kunci SSH berbasis metadata
Anda dapat mencegah VM menerima kunci SSH yang disimpan dalam metadata project dengan memblokir kunci SSH project dari VM. Anda dapat memblokir kunci SSH project dari VM saat membuat VM atau setelah membuat VM.
Memblokir kunci SSH project dari VM selama pembuatan VM
Anda dapat memblokir kunci SSH project dari VM selama pembuatan VM menggunakan Trusted Cloud konsol, gcloud CLI, atau Compute Engine API.
Konsol
Untuk membuat instance dan memblokirnya agar tidak menerima kunci SSH yang disimpan dalam metadata project menggunakan konsol Trusted Cloud , lakukan langkah berikut:
Di konsol Trusted Cloud , buka halaman Create an instance.
Untuk memblokir kunci SSH project, lakukan langkah-langkah berikut:
Di menu navigasi, klik Security.
Perluas bagian Kelola akses.
Untuk menonaktifkan Login OS, hapus centang pada kotak Kontrol akses VM melalui izin IAM.
Centang kotak Block project-wide SSH keys.
Opsional: Tentukan opsi konfigurasi lainnya. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.
Untuk membuat dan memulai instance, klik Create.
gcloud
Untuk membuat VM dan memblokirnya agar tidak menerima kunci SSH yang disimpan dalam metadata project menggunakan gcloud CLI, gunakan perintah
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --metadata block-project-ssh-keys=TRUE
Ganti
VM_NAME
dengan nama VM baru.REST
Untuk membuat VM dan memblokirnya agar tidak menerima kunci SSH yang disimpan dalam metadata project menggunakan Compute Engine, buat permintaan
POST
ke metodeinstances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Ganti kode berikut:
PROJECT_ID
: the project IDZONE
: zona VM
Dalam isi permintaan, berikan nama pengguna dan kunci SSH publik di properti
items
:... { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] } ...
Memblokir kunci SSH project dari VM setelah pembuatan VM
Anda dapat memblokir kunci SSH project dari VM setelah pembuatan VM menggunakan Trusted Cloud konsol, gcloud CLI, atau Compute Engine API.
Konsol
Untuk mencegah VM menerima koneksi dari kunci SSH yang disimpan dalam metadata project menggunakan konsol Trusted Cloud , lakukan tindakan berikut:
Di konsol Trusted Cloud , buka halaman VM instances.
Klik nama VM yang kunci SSH project-nya ingin Anda blokir.
Klik Edit.
Pada SSH Keys, centang Block project-wide SSH keys.
Setelah selesai mengedit setelan koneksi untuk kunci SSH, klik Save.
gcloud
Untuk mencegah VM menerima koneksi dari kunci SSH yang disimpan di metadata project menggunakan gcloud CLI, lakukan tindakan berikut:
Jalankan perintah
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME --metadata block-project-ssh-keys=TRUE
Ganti
VM_NAME
dengan nama VM yang kunci SSH publiknya ingin Anda blokir.REST
Untuk mencegah VM menerima koneksi dari kunci SSH yang disimpan dalam metadata project menggunakan Compute Engine API, lakukan tindakan berikut:
Gunakan metode
instances.get
untuk mendapatkanfingerprint
dari metadata.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ganti kode berikut:
PROJECT_ID
: ID project AndaZONE
: zona VM yang Anda tambahkan kunci SSH-nyaVM_NAME
: VM tempat Anda menambahkan kunci SSH
Responsnya mirip dengan hal berikut ini:
... "fingerprint": "utgYE_XWtE8=" ...
Gunakan metode
instances.setMetadata
untuk menyetelblock-project-ssh-keys
keTRUE
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] "fingerprint": "FINGERPRINT" }
Ganti kode berikut:
PROJECT_ID
adalah ID project AndaZONE
adalah zona tempat instance Anda beradaINSTANCE_NAME
adalah instance tempat Anda ingin memblokir kunci seluruh project.FINGERPRINT
: nilaifingerprint
dari respons permintaaninstances.get
.
Apa langkah selanjutnya?
- Terhubung ke VM menggunakan alat Google, sehingga Anda tidak perlu mengelola kunci SSH sendiri.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-08 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-08 UTC."],[[["This document details how to remove and block SSH keys to prevent users from accessing virtual machine (VM) instances."],["SSH keys can be removed from VMs that use OS Login by managing keys associated with Google accounts through the Google Cloud CLI or the OS Login API."],["Metadata-based SSH keys can be removed from both project-wide and individual instance metadata using the Google Cloud console, the gcloud CLI, or the Compute Engine API."],["It's possible to block project-wide SSH keys from being accepted by a VM, either during VM creation or after it has been created, which enhances security."],["When removing metadata SSH keys, the list of keys must be retrieved, edited to remove the desired keys, and then the updated list must overwrite the old keys, regardless if it is done on the project or instance level."]]],[]] -