Tentang koneksi SSH


Compute Engine menggunakan autentikasi SSH berbasis kunci untuk membuat koneksi ke semua instance virtual machine (VM) Linux. Secara opsional, Anda dapat mengaktifkan SSH untuk VM Windows. Secara default, sandi tidak dikonfigurasi untuk pengguna lokal di VM Linux.

Sebelum dapat terhubung ke VM, beberapa konfigurasi harus dilakukan. Jika Anda menggunakan konsol Google Cloud atau Google Cloud CLI untuk terhubung ke VM Anda, Compute Engine akan melakukan konfigurasi ini untuk Anda. Compute Engine menjalankan konfigurasi yang berbeda, bergantung pada alat yang Anda gunakan untuk terhubung dan apakah Anda mengelola akses ke VM melalui metadata atau Login OS. Login OS hanya tersedia untuk VM Linux.

Koneksi SSH yang dikelola metadata

Secara default,Compute Engine menggunakan project kustom dan/atau instance metadata untuk mengonfigurasi kunci SSH dan mengelola akses SSH. Semua VM Windows menggunakan metadata untuk mengelola kunci SSH, sedangkan VM Linux dapat menggunakan kunci metadata atau Login OS. Jika Anda menggunakan Login OS, kunci SSH metadata akan dinonaktifkan.

Klik setiap tab untuk mempelajari lebih lanjut konfigurasi yang dilakukan Compute Engine sebelum memberikan koneksi SSH saat Anda menggunakan konsol Google Cloud, gcloud CLI, atau alat pihak ketiga untuk terhubung ke VM. Jika Anda terhubung ke VM tanpa menggunakan konsol Google Cloud atau gcloud CLI, Anda harus melakukan beberapa konfigurasi sendiri.

Konsol

  1. Anda mengunakan tombol SSH di konsol Google Cloud untuk terhubung ke VM Anda.
  2. Compute Engine menetapkan nama pengguna dan membuat pasangan kunci SSH sementara dengan konfigurasi berikut:
    • Nama pengguna Anda ditetapkan sebagai nama pengguna di Akun Google Anda. Misalnya, jika alamat email yang terkait dengan Akun Google Anda adalah cloudysanfrancisco@gmail.com, maka nama pengguna Anda adalah cloudysanfrancisco.
    • Kunci SSH publik dan pribadi Anda disimpan di sesi browser Anda.
    • Masa berlaku kunci SSH Anda adalah lima menit. Lima menit setelah Compute Engine membuat kunci, Anda tidak dapat lagi menggunakan kunci SSH untuk terhubung ke VM.
  3. Compute Engine mengupload kunci SSH publik dan nama pengguna ke metadata.
  4. Compute Engine mengambil kunci SSH dan nama pengguna dari metadata, membuat akun pengguna dengan nama pengguna, dan di VM Linux, menyimpan kunci publik dalam file ~/.ssh/authorized_keys pengguna di VM. Di VM Windows, Compute Engine tidak menyimpan kunci publik di VM.
  5. Compute Engine akan memberikan koneksi Anda.

gcloud

  1. Anda menggunakan perintahgcloud compute ssh untuk terhubung ke VM Anda.
  2. Compute Engine menetapkan nama pengguna dan membuat pasangan kunci SSH persisten dengan konfigurasi berikut:
    • Nama pengguna Anda ditetapkan sebagai nama pengguna di komputer lokal Anda.
    • Kunci SSH publik Anda disimpan di metadata project. Jika Compute Engine tidak dapat menyimpan kunci SSH dalam metadata project, misalnya, karena block-project-ssh-keys ditetapkan ke TRUE, Compute Engine akan menyimpan kunci SSH dalam metadata instance.
    • Kunci SSH pribadi Anda disimpan di komputer lokal Anda.
    • Masa berlaku kunci SSH Anda tidak terbatas. Kunci ini digunakan untuk semua koneksi SSH mendatang yang Anda buat, kecuali jika Anda mengonfigurasi kunci baru.
  3. Compute Engine mengupload kunci SSH publik dan nama pengguna ke metadata.
  4. Compute Engine mengambil kunci SSH dan nama pengguna dari metadata, membuat akun pengguna dengan nama pengguna, dan di VM Linux, menyimpan kunci publik dalam file ~/.ssh/authorized_keys pengguna di VM. Di VM Windows, Compute Engine tidak menyimpan kunci publik di VM.
  5. Compute Engine akan memberikan koneksi Anda.

Alat pihak ketiga

  1. Anda membuat pasangan kunci SSH dan nama pengguna. Lihat Membuat kunci SSH untuk mengetahui detailnya.
  2. Anda mengupload kunci publik dan nama pengguna ke metadata. Lihat Menambahkan kunci SSH ke VM yang menggunakan kunci SSH berbasis metadata untuk mengetahui detailnya.
  3. Anda terhubung ke VM.
  4. Compute Engine mengambil kunci SSH dan nama pengguna dari metadata, membuat akun pengguna dengan nama pengguna, dan di VM Linux, menyimpan kunci publik dalam file ~/.ssh/authorized_keys pengguna di VM. Di VM Windows, Compute Engine tidak menyimpan kunci publik di VM.
  5. Compute Engine akan memberikan koneksi Anda.

Koneksi SSH yang dikelola Login OS

Jika Anda menetapkan metadata Login OS, Compute Engine akan menghapus file authorized_keys VM dan tidak lagi menerima koneksi dari kunci SSH yang disimpan dalam metadata project atau instance.

Klik setiap tab untuk mempelajari lebih lanjut konfigurasi yang dilakukan Compute Engine sebelum memberikan koneksi SSH saat Anda menggunakan konsol Google Cloud, gcloud CLI, atau alat pihak ketiga untuk terhubung ke VM. Jika Anda terhubung ke VM tanpa menggunakan konsol Google Cloud atau gcloud CLI, Anda harus melakukan beberapa konfigurasi sendiri.

Konsol

  1. Anda mengunakan tombol SSH di konsol Google Cloud untuk terhubung ke VM Anda.
  2. Compute Engine menetapkan nama pengguna dan membuat pasangan kunci SSH sementara dengan konfigurasi berikut:
    • Nama pengguna Anda adalah nama pengguna yang ditetapkan oleh administrator Cloud Identity atau Google Workspace organisasi Anda. Jika organisasi Anda belum mengonfigurasi nama pengguna untuk Anda, atau jika project Anda bukan milik organisasi, Compute Engine akan menggunakan email Akun Google Anda, dalam format berikut:

      USERNAME_DOMAIN_SUFFIX
      Misalnya, jika email yang terkait dengan Akun Google Anda adalah cloudysanfrancisco@gmail.com, maka nama pengguna yang dibuat untuk Anda adalah cloudysanfrancisco_gmail_com.

    • Kunci SSH publik Anda disimpan di sesi browser dan di Akun Google Anda.
    • Kunci SSH pribadi Anda disimpan di sesi browser Anda.
    • Masa berlaku kunci SSH Anda adalah tiga menit. Tiga menit setelah Compute Engine membuat kunci, Anda tidak dapat lagi menggunakan kunci SSH untuk terhubung ke VM.
  3. Compute Engine me-resolve nama pengguna yang Anda berikan ke akun Login OS di VM menggunakan modul layanan NSS.
  4. Compute Engine melakukan otorisasi IAM menggunakan AuthorizedKeysCommand, untuk memastikan Anda memiliki izin yang diperlukan untuk terhubung.
  5. AuthorizedKeysCommand mengambil kunci SSH dari akun pengguna Anda untuk memberikannya ke OpenSSH di VM.
  6. Compute Engine akan memberikan koneksi Anda.

gcloud

  1. Anda menggunakan perintahgcloud compute ssh untuk terhubung ke VM Anda.
  2. Compute Engine menetapkan nama pengguna dan membuat pasangan kunci SSH persisten dengan konfigurasi berikut:
    • Nama pengguna Anda adalah nama pengguna yang ditetapkan oleh administrator Cloud Identity atau Google Workspace organisasi Anda. Jika organisasi Anda belum mengonfigurasi nama pengguna untuk Anda, Compute Engine akan menggunakan email Akun Google Anda dalam format berikut:

      USERNAME_DOMAIN_SUFFIX
      Misalnya, jika email yang terkait dengan Akun Google Anda adalah cloudysanfrancisco@gmail.com, nama pengguna yang dibuat untuk Anda adalah cloudysanfrancisco_gmail_com.

    • Kunci SSH publik Anda disimpan di Akun Google Anda.
    • Kunci SSH pribadi Anda disimpan di komputer lokal dalam file google_compute_engine.
    • Masa berlaku kunci SSH Anda tidak terbatas. Kunci ini digunakan untuk semua koneksi SSH mendatang yang Anda buat, kecuali jika Anda mengonfigurasi kunci baru.
  3. Compute Engine me-resolve nama pengguna yang Anda berikan ke akun Login OS Anda di VM menggunakan modul layanan NSS.
  4. Compute Engine melakukan otorisasi IAM menggunakan AuthorizedKeysCommand, untuk memastikan Anda memiliki izin yang diperlukan untuk terhubung.
  5. AuthorizedKeysCommand mengambil kunci SSH dari akun pengguna Anda untuk memberikannya ke OpenSSH di VM.
  6. Compute Engine akan memberikan koneksi Anda.

Alat pihak ketiga

  1. Anda membuat pasangan kunci SSH. Lihat Membuat kunci SSH untuk mengetahui detailnya.
  2. Anda mengupload kunci SSH publik Anda ke profil Login OS. Lihat Menambahkan kunci ke VM yang menggunakan Login OS untuk mengetahui detailnya.
    • Compute Engine menyimpan kunci Anda di Akun Google Anda.
    • Compute Engine mengonfigurasi nama pengguna Anda dalam format default:
          USERNAME_DOMAIN_SUFFIX
      Misalnya, jika email yang terkait dengan Akun Google Anda adalah cloudysanfrancisco@gmail.com, nama pengguna yang dibuat untuk Anda adalah cloudysanfrancisco_gmail_com.
  3. Anda secara opsional dapat menetapkan nama pengguna dengan API Direktori Google Workspace Admin SDK.
  4. Anda terhubung ke VM.
  5. Compute Engine me-resolve nama pengguna yang Anda berikan ke akun Login OS Anda di VM menggunakan modul layanan NSS.
  6. Compute Engine melakukan otorisasi IAM menggunakan AuthorizedKeysCommand, untuk memastikan Anda memiliki izin yang diperlukan untuk terhubung.
  7. AuthorizedKeysCommand mengambil kunci SSH dari akun pengguna Anda untuk memberikannya ke OpenSSH di VM.
  8. Compute Engine akan memberikan koneksi Anda.

Apa langkah selanjutnya?