Terhubung ke VM Linux menggunakan Identity-Aware Proxy


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 adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan 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:

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka VM instances

  2. 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:

    Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah 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 sesi.

  1. Hubungkan ke VM dengan menjalankan perintah berikut:

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. Ganti VM_NAME dengan nama VM yang ingin Anda hubungkan.

Desktop IAP

Untuk terhubung ke VM menggunakan IAP Desktop, lakukan hal berikut:

  1. Instal IAP Desktop di workstation Anda jika belum melakukannya.

  2. Buka Desktop IAP. Jendela Tambahkan project akan terbuka.

  3. Saat diminta, login menggunakan Akun Google yang memiliki akses ke project dengan VM yang ingin Anda hubungkan.

  4. Di jendela Add projects, masukkan project ID atau nama project yang berisi VM yang ingin Anda hubungkan.

  5. Di jendela Project Explorer, klik kanan lagi nama VM, lalu pilih Connect untuk terhubung ke VM.

Aplikasi PuTTY

Tunnel koneksi SSH melalui alamat IP internal VM menggunakan PuTTY, dengan melakukan hal berikut:

  1. Tambahkan kunci SSH ke VM jika Anda belum melakukannya.
  2. Jika workstation Anda belum menginstal aplikasi PuTTY, download file paket PuTTY.
  3. Di konsol Google Cloud, buka halaman Instance VM dan temukan nama VM yang ingin dihubungkan.

    Buka Instance VM

  4. Buka aplikasi PuTTY. Jendela konfigurasi koneksi akan terbuka.
  5. Di kolom Host Name, masukkan nama pengguna yang terkait dengan kunci SSH, dan nama VM yang ingin Anda hubungkan. Gunakan format berikut:

    USERNAME@VM_NAME

    Ganti kode berikut:

    • USERNAME: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tentukan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda. Misalnya, cloudysanfrancisco_example_com atau cloudysanfrancisco.
    • NAME: nama VM.
  6. Pada menu Kategori, buka Koneksi > SSH > Auth.
  7. Di kolom Private key file for authentication (File kunci pribadi untuk autentikasi), pilih file kunci SSH pribadi yang sesuai dengan kunci publik yang Anda tambahkan ke VM.
  8. Pada menu Kategori, buka Koneksi > Proxy.
  9. Di bagian Jenis proxy, pilih Lokal.
  10. Di kolom Telnet command, or local proxy command(Perintah Telnet, atau perintah proxy lokal), masukkan perintah berikut:

    gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

    Ganti kode berikut:

    • VM_NAME: nama VM yang ingin Anda hubungkan.
    • PORT_NUMBER: port tempat daemon sshd dijalankan. Nilai default PORT_NUMBER adalah 22.
    • PROJECT_ID: project yang menghosting VM yang ingin Anda hubungkan.
    • ZONE: zona tempat VM berada.
  11. Klik Open(Buka) untuk terhubung ke VM.

Pemecahan masalah

Untuk menemukan metode mendiagnosis dan menyelesaikan koneksi SSH yang gagal, lihat Memecahkan Masalah SSH.

Langkah selanjutnya