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 lainnya, dalam hal ini otoritas sertifikat yang dikelola Login OS. Dokumen ini menjelaskan cara menyiapkan VM Login OS untuk mewajibkan sertifikat SSH untuk koneksi SSH dan memblokir koneksi dari kunci SSH yang tidak ditandatangani.
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. Sertifikat SSH memiliki masa berlaku 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 untuk koneksi SSH sebagai lapisan keamanan tambahan terhadap pengguna berbahaya. Sertifikat SSH memiliki masa berlaku singkat dan hanya berlaku untuk VM tertentu, yang berarti jika sertifikat tersebut dibobol, permukaan serangan akan jauh lebih kecil dan jendela serangan akan jauh lebih singkat daripada kunci SSH yang memiliki masa berlaku lama.
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.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Google Cloud konsol untuk mengakses Google Cloud layanan dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu .
-
- Tetapkan region dan zona default.
Batasan
- VM yang Anda hubungkan harus memiliki OpenSSH versi 7.4 atau yang lebih baru untuk menggunakan sertifikat SSH.
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 Google Cloud konsol dan gcloud CLI akan menggunakan sertifikat SSH secara default. Jika Anda tidak ingin menyiapkan Login OS untuk mewajibkan sertifikat, tetapi Anda 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 Google Cloud konsol atau gcloud CLI.
Konsol
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke VM yang mengaktifkan Login OS, gunakan
konsol Google Cloud untuk menetapkan enable-oslogin dan
enable-oslogin-certificates ke TRUE di metadata project:
Buka halaman Metadata.
Klik Edit.
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin. - Pada kolom Nilai, masukkan
TRUE.
- Pada kolom Kunci, masukkan
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin-certificates. - Pada kolom Nilai, masukkan
TRUE.
- Pada kolom Kunci, masukkan
Klik Simpan.
gcloud
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke VM yang mengaktifkan Login OS, gunakan
perintah gcloud compute project-info add-metadata
untuk menetapkan enable-oslogin=TRUE dan enable-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 untuk semua koneksi SSH ke satu VM yang menggunakan Login OS, gunakan Google Cloud konsol atau gcloud CLI.
Konsol
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke satu VM, gunakan
Google Cloud konsol untuk menetapkan enable-oslogin dan
enable-oslogin-certificates ke TRUE di metadata instance:
Buka halaman VM instances.
Klik nama VM yang sertifikat SSH-nya ingin Anda wajibkan.
Klik Edit.
Di bagian Metadata, klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin. - Pada kolom Nilai, masukkan
TRUE.
- Pada kolom Kunci, masukkan
Klik Tambahkan item.
- Pada kolom Kunci, masukkan
enable-oslogin-certificates. - Pada kolom Nilai, masukkan
TRUE.
- Pada kolom Kunci, masukkan
Klik Simpan.
gcloud
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke satu VM, gunakan perintah
gcloud compute instances add-metadata
untuk menetapkan enable-oslogin=TRUE dan enable-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 Anda tidak ingin menyiapkan Login OS untuk mewajibkan sertifikat, tetapi Anda ingin menggunakan sertifikat untuk terhubung ke VM, Anda harus terhubung menggunakan alat pihak ketiga.
Konsol
Hubungkan ke VM menggunakan SSH-in-browser dari Google Cloud konsol, dengan melakukan hal berikut:
- Di Google Cloud konsol, buka halaman VM instances.
-
Di daftar instance virtual machine, klik SSH di baris
instance yang ingin Anda hubungkan.

gcloud
Gunakan
gcloud beta compute ssh perintah
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:
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: 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 terlampir ke instance. Hapus kolom ini jika instance tidak memiliki akun layanan yang terlampir.
Salin sertifikat SSH dari output metode
projects.locations.signSshPublicKeydan simpan konten dalam file baru.Tetapkan izin pada file sertifikat SSH, dengan menjalankan perintah berikut:
sudo chmod 600 FILE_NAME
Ganti
FILE_NAMEdengan 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.
Pemecahan masalah
Jika Anda tidak dapat terhubung ke VM yang telah Anda siapkan untuk mewajibkan sertifikat SSH, hal ini mungkin disebabkan oleh hal berikut:
- VM Anda menggunakan OpenSSH versi yang tidak didukung. Untuk
mengatasi masalah ini, nonaktifkan sertifikat di metadata VM dengan menetapkan
enable-oslogin-certificateskeFALSEdi metadata instance.
Apa langkah selanjutnya?
- Pelajari Login OS lebih lanjut.
- Pelajari cara menyiapkan Login OS dengan verifikasi 2 langkah.
- Pelajari cara mengelola Login OS di organisasi.