Dokumen ini menjelaskan cara terhubung ke instance mesin virtual (VM) melalui alamat IP internalnya, menggunakan penerusan TCP Identity-Aware Proxy (IAP).
Penerusan TCP IAP memungkinkan Anda membuat tunnel terenkripsi yang dapat digunakan untuk meneruskan koneksi SSH ke VM. Saat Anda terhubung ke VM yang menggunakan IAP, IAP akan menggabungkan koneksi SSH di dalam HTTPS sebelum meneruskan koneksi ke VM. Kemudian, IAP akan memeriksa apakah Anda memiliki izin IAM yang diperlukan, dan jika Anda memilikinya, akan memberikan akses ke VM.
Jika Anda perlu terhubung ke VM yang tidak memiliki alamat IP eksternal dan tidak dapat menggunakan IAP, pelajari metode lain yang tercantum dalam Opsi koneksi untuk VM khusus internal.
Sebelum memulai
- Buat aturan firewall untuk mengaktifkan koneksi dari IAP.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud 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 konsol Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, lakukan 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.
Sistem operasi yang didukung
Metode koneksi ini didukung untuk semua image Linux publik yang tersedia di Compute Engine. Untuk image Fedora CoreOS, Anda harus menyiapkan akses SSH sebelum dapat menggunakan metode ini.
Terhubung ke VM
Untuk terhubung ke VM, selesaikan langkah-langkah di salah satu tab berikut.
Konsol
Tunnel koneksi SSH melalui alamat IP internal VM menggunakan SSH-in-Browser 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
Tunnel koneksi SSH melalui alamat IP internal VM menggunakan
perintah
gcloud compute ssh dengan
flag --tunnel-through-iap:
Hubungkan ke VM dengan menjalankan perintah berikut:
gcloud compute ssh INSTANCE_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --tunnel-through-iapGanti kode berikut:
INSTANCE_NAME: nama VM yang ingin Anda hubungkan.PROJECT_ID: ID project yang berisi VM.ZONE: nama zona tempat VM berada.
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan terbuka dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Desktop IAP
Untuk terhubung ke VM menggunakan Desktop IAP, lakukan langkah berikut:
-
Instal Desktop IAP di workstation Anda jika belum melakukannya.
-
Buka Desktop IAP. Jendela Tambahkan project akan terbuka.
-
Saat diminta, login menggunakan akun Google yang memiliki akses ke project dengan VM yang ingin Anda hubungkan.
-
Di jendela Tambahkan project, masukkan project ID atau nama project yang berisi VM yang ingin Anda hubungkan.
-
Di jendela Project Explorer, klik kanan nama VM lagi, lalu pilih Connect untuk terhubung ke VM.
Klien OpenSSH
Terhubung ke VM yang tidak memiliki alamat IP eksternal menggunakan SSH melalui tunnel IAP. Anda dapat menulis file konfigurasi SSH (~/.ssh/config) Anda sendiri sehingga alat seperti VS Code atau klien OpenSSH dapat terhubung secara langsung.
Buat dan distribusikan kunci SSH Anda dengan terhubung ke VM setidaknya sekali dengan menjalankan perintah
gcloud compute ssh:gcloud compute ssh INSTANCE_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --tunnel-through-iapGanti kode berikut:
INSTANCE_NAME: nama VM yang ingin Anda hubungkan.PROJECT_ID: ID project yang berisi VM.ZONE: zona tempat VM Anda berada.
Setelah koneksi berhasil, keluar dari sesi SSH.
Buka atau buat file konfigurasi SSH di workstation lokal Anda. File ini biasanya berada di
~/.ssh/configpada Linux dan macOS, atau%USERPROFILE%\.ssh\configpada Windows.Tambahkan entri konfigurasi untuk VM Anda dengan menambahkan blok berikut ke file konfigurasi SSH Anda:
Host INSTANCE_NAME HostName INSTANCE_NAME IdentityFile PATH_TO_PRIVATE_KEY ProxyCommand gcloud compute start-iap-tunnel %h %p --listen-on-stdin --project=PROJECT_ID --zone=ZONE --verbosity=warning User USERNAMEGanti kode berikut:
INSTANCE_NAME: nama VM yang ingin Anda hubungkan.PATH_TO_PRIVATE_KEY: jalur ke file kunci pribadi Anda, biasanya~/.ssh/google_compute_engine.PROJECT_ID: ID project yang berisi VM.ZONE: zona tempat VM Anda berada.USERNAME: nama pengguna di VM, seperti nama pengguna Login OS Google Cloud atau nama pengguna metadata Anda.
Hubungkan ke VM dari terminal lokal atau klien SSH Anda dengan menjalankan perintah berikut:
ssh INSTANCE_NAME
Aplikasi PuTTY
Untuk membuat tunnel koneksi SSH melalui alamat IP internal VM menggunakan PuTTY, lakukan hal berikut:
- Jika Anda belum menambahkan kunci SSH, tambahkan kunci SSH ke VM.
- Jika workstation Anda belum menginstal aplikasi PuTTY, download file paket PuTTY.
Di konsol Google Cloud , buka halaman VM instances dan temukan nama VM yang ingin Anda hubungkan.
- Buka aplikasi PuTTY. Jendela konfigurasi koneksi akan terbuka.
Di kolom nama host (atau alamat IP), masukkan nama pengguna yang terkait dengan Kunci SSH dan nama VM yang ingin Anda hubungkan. Gunakan format berikut:
USERNAME@INSTANCE_NAME
Ganti kode berikut:
USERNAME: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tetapkan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda, seperticloudysanfrancisco_example_comataucloudysanfrancisco.-
INSTANCE_NAME: nama VM.
- Pada menu Category, buka Connection > SSH > Auth > Credentials (atau Connection > SSH > Auth di PuTTY versi sebelum 0.78).
- Di kolom Private key file for authentication, klik
Browse, lalu pilih file kunci SSH pribadi
(
.ppk) yang sesuai dengan kunci publik yang Anda tambahkan ke VM. - Pada menu Category, buka Connection > Proxy.
- Di bagian Proxy type, pilih Local.
Di kolom Telnet command, or local proxy command, masukkan perintah berikut:
gcloud.cmd compute start-iap-tunnel INSTANCE_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE
Ganti kode berikut:
INSTANCE_NAME: nama VM yang ingin Anda hubungkan.PORT_NUMBER: port tempat daemonsshddijalankan. Nilai defaultPORT_NUMBERadalah22.PROJECT_ID: project yang menghosting VM yang ingin Anda hubungkan.ZONE: zona tempat VM berada.
- Klik Buka untuk terhubung ke VM.
Pemecahan masalah
Untuk menemukan metode mendiagnosis dan menyelesaikan koneksi SSH yang gagal, lihat Memecahkan Masalah SSH.
Langkah berikutnya
- Pelajari cara mengelola akses ke VM.
- Pelajari cara mentransfer file ke VM.
- Pelajari cara kerja koneksi SSH ke VM Linux di Compute Engine.