VM yang mendukung sertifikat Login OS mendukung koneksi dari kunci SSH dan sertifikat SSH. Sertifikat SSH adalah kunci SSH yang telah ditandatangani oleh kunci tepercaya lain, dalam hal ini otoritas sertifikat yang dikelola oleh Login OS. Dokumen ini menjelaskan cara menyiapkan VM Login OS agar memerlukan sertifikat SSH untuk koneksi SSH dan memblokir koneksi dari kunci SSH yang tidak bertanda tangan.
Saat Anda menyiapkan Login OS untuk mewajibkan sertifikat SSH untuk koneksi ke VM, hanya sertifikat SSH yang telah ditandatangani oleh otoritas sertifikat yang diizinkan untuk terhubung ke VM; koneksi dari kunci SSH yang tidak ditandatangani akan ditolak. Masa berlaku sertifikat SSH adalah lima menit, setelah itu sertifikat tidak dapat lagi digunakan untuk terhubung ke VM dan sertifikat baru harus dibuat.
Sebaiknya siapkan Login OS untuk mewajibkan sertifikat SSH bagi koneksi SSH sebagai lapisan keamanan tambahan terhadap pengguna berbahaya. Sertifikat SSH berumur pendek dan hanya valid untuk VM tertentu, yang berarti jika dibobol, permukaan serangannya jauh lebih kecil dan jendela serangannya jauh lebih pendek daripada kunci SSH yang berumur panjang.
Jika organisasi Anda menggunakan workforce identity federation, lihat Menggunakan workforce identity federation dengan Login OS untuk mempelajari cara mengaktifkan sertifikat SSH untuk organisasi Anda.
Sebelum memulai
- Siapkan Login OS dan tetapkan peran IAM Login OS.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Google Cloud 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- VM yang Anda hubungkan harus memiliki OpenSSH versi 7.4 atau yang lebih baru untuk menggunakan sertifikat SSH.
Buka halaman Metadata.
Klik Edit.
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin
. - Di kolom Nilai, masukkan
TRUE
.
- Pada kolom Kunci, masukkan
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin-certificates
. - Di kolom Nilai, masukkan
TRUE
.
- Pada kolom Kunci, masukkan
Klik Simpan.
Buka halaman VM instances.
Klik nama VM yang ingin Anda tetapkan agar memerlukan sertifikat SSH.
Klik Edit.
Di bagian Metadata, klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin
. - Di kolom Nilai, masukkan
TRUE
.
- Pada kolom Kunci, masukkan
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin-certificates
. - Di kolom Nilai, masukkan
TRUE
.
- Pada kolom Kunci, masukkan
Klik Simpan.
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Buat kunci SSH jika Anda belum memilikinya.
Tandatangani kunci SSH publik Anda menggunakan metode
projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" "compute_instance": "COMPUTE_INSTANCE", "service_account": "SERVICE_ACCOUNT" }
Ganti kode berikut:
PROJECT_ID
: project ID project yang berisi VM yang ingin Anda hubungkanLOCATION
: region tempat VM yang ingin Anda hubungkan beradaPUBLIC_KEY
: konten file kunci publik SSH AndaCOMPUTE_INSTANCE
: instance Compute Engine yang akan dihubungkan, dalam formatprojects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
.SERVICE_ACCOUNT
: akun layanan yang dilampirkan ke instance. Hapus kolom ini jika instance tidak memiliki akun layanan yang terlampir.
Salin sertifikat SSH dari output metode
projects.locations.signSshPublicKey
dan simpan kontennya dalam file baru.Tetapkan izin pada file sertifikat SSH dengan menjalankan perintah berikut:
sudo chmod 600 FILE_NAME
Ganti
FILE_NAME
dengan nama file.Hubungkan ke VM menggunakan perintah berikut:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Ganti kode berikut:
PATH_TO_PRIVATE_KEY
: jalur ke file kunci SSH pribadi Anda.PATH_TO_SSH_CERTIFICATE
: jalur ke file sertifikat SSH Anda.USERNAME
: nama pengguna Login OS AndaEXTERNAL_IP
: alamat IP eksternal VM.
- VM Anda menggunakan versi OpenSSH yang tidak didukung. Untuk mengatasi masalah ini, nonaktifkan sertifikat di metadata VM dengan menetapkan
enable-oslogin-certificates
keFALSE
di metadata instance. - Pelajari Login OS lebih lanjut.
- Pelajari cara menyiapkan Login OS dengan verifikasi 2 langkah.
- Pelajari cara mengelola Login OS di organisasi.
Batasan
Mewajibkan sertifikat SSH
Anda dapat menyiapkan Login OS untuk mewajibkan sertifikat SSH untuk semua koneksi SSH ke VM Login OS di project Anda, atau untuk VM tunggal. Setelah Anda menyiapkan Login OS untuk mewajibkan sertifikat SSH, koneksi SSH dari konsol Google Cloud dan gcloud CLI akan menggunakan sertifikat SSH secara default. Jika Anda tidak ingin menyiapkan Login OS untuk mewajibkan sertifikat, tetapi ingin menggunakan sertifikat untuk terhubung ke VM, Anda harus terhubung menggunakan alat pihak ketiga, seperti yang dijelaskan di bagian Menghubungkan ke VM menggunakan sertifikat SSH.
Mewajibkan sertifikat SSH untuk semua VM yang mengaktifkan Login OS dalam sebuah project
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke semua VM yang menggunakan Login OS di project Anda, gunakan konsol Google Cloud atau gcloud CLI.
Konsol
Untuk mewajibkan sertifikat SSH bagi semua koneksi ke VM yang mendukung Login OS, gunakan konsol Google Cloud untuk menetapkan
enable-oslogin
danenable-oslogin-certificates
keTRUE
dalam metadata project:gcloud
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke VM yang mendukung Login OS, gunakan perintah
gcloud compute project-info add-metadata
untuk menetapkanenable-oslogin=TRUE
danenable-oslogin-certificates=TRUE
di metadata project:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Mewajibkan sertifikat SSH di satu VM yang mengaktifkan Login OS
Untuk mewajibkan sertifikat bagi semua koneksi SSH ke satu VM yang menggunakan Login OS, gunakan konsol Google Cloud atau gcloud CLI.
Konsol
Untuk mewajibkan sertifikat SSH bagi semua koneksi ke satu VM, gunakan konsolGoogle Cloud untuk menyetel
enable-oslogin
danenable-oslogin-certificates
keTRUE
dalam metadata instance:gcloud
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke satu VM, gunakan perintah
gcloud compute instances add-metadata
untuk menetapkanenable-oslogin=TRUE
danenable-oslogin-certificates=TRUE
di metadata instance:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
Ganti
VM_NAME
dengan nama VM Anda.Menghubungkan ke VM menggunakan sertifikat SSH
Setelah Anda menyiapkan Login OS untuk mewajibkan sertifikat SSH, koneksi SSH dari konsol Google Cloud dan gcloud CLI akan menggunakan sertifikat SSH secara default. Jika tidak ingin menyiapkan Login OS untuk mewajibkan sertifikat, tetapi ingin menggunakan sertifikat untuk terhubung ke VM, Anda harus terhubung menggunakan alat pihak ketiga.
Konsol
Hubungkan ke VM menggunakan SSH-in-browser dari konsolGoogle Cloud , dengan melakukan hal berikut:
gcloud
Gunakan perintah
gcloud beta compute ssh
untuk terhubung ke VM menggunakan sertifikat:gcloud beta compute ssh VM_NAME
Ganti
VM_NAME
dengan nama VM yang ingin Anda hubungkan.Alat pihak ketiga
Untuk menggunakan sertifikat SSH dengan klien SSH pihak ketiga, lakukan hal berikut:
Pemecahan masalah
Jika Anda tidak dapat terhubung ke VM yang telah Anda siapkan untuk memerlukan sertifikat SSH, hal ini mungkin disebabkan oleh hal berikut:
Apa langkah selanjutnya?
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-07-11 UTC.
-