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 sertifikat tersebut 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.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel 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 konsol Google Cloud untuk mengakses layanan Google Cloud 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 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, 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 dan enable-oslogin-certificates ke TRUE dalam metadata project:
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.
gcloud
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke VM yang mendukung 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 bagi semua koneksi SSH ke satu VM yang menggunakan Login OS, gunakan konsol Google Cloud atau gcloud CLI.
Konsol
Untuk mewajibkan sertifikat SSH untuk semua koneksi ke satu VM, gunakan konsolGoogle Cloud untuk menyetel enable-oslogin dan enable-oslogin-certificates ke TRUE dalam metadata instance:
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.
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 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:
- Di konsol Google Cloud , buka halaman VM instances.
-
Di daftar instance virtual machine, klik SSH di baris
instance yang ingin Anda hubungkan.

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:
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.signSshPublicKeydan simpan kontennya 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 memerlukan sertifikat SSH, hal ini mungkin disebabkan oleh hal berikut:
- VM Anda menggunakan versi OpenSSH 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.