Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Linux
Windows
Dokumen ini menjelaskan cara membuat pasangan kunci SSH untuk instance mesin virtual (VM) Compute Engine.
Sebelum memulai
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and
APIs, you don't need to set up authentication.
gcloud
Menginstal Google Cloud CLI.
Setelah penginstalan,
lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
Jika Anda terhubung ke VM menggunakan Google Cloud konsol atau
Google Cloud CLI, Compute Engine akan membuat kunci SSH untuk Anda. Untuk
mengetahui informasi selengkapnya tentang cara Compute Engine mengonfigurasi dan menyimpan kunci, lihat
Tentang koneksi SSH.
Jika Anda terhubung ke VM menggunakan alat pihak ketiga atau OpenSSH, Anda harus menambahkan kunci ke VM agar dapat terhubung. Jika Anda tidak memiliki kunci SSH,
Anda harus membuatnya. VM menerima format kunci yang tercantum dalam file sshd_config.
Linux and macOS
Di workstation Linux dan macOS, gunakan
utilitas ssh-keygen
untuk membuat pasangan kunci SSH baru. Contoh berikut akan membuat pasangan kunci RSA.
Buka terminal dan gunakan perintah ssh-keygen dengan flag -C untuk membuat pasangan kunci SSH baru.
Misalnya, nama file my-ssh-key menghasilkan file kunci pribadi bernama
my-ssh-key dan file kunci publik bernama my-ssh-key.pub.
USERNAME: nama pengguna Anda di VM. Misalnya,
cloudysanfrancisco, atau cloudysanfrancisco_gmail_com.
Untuk VM Linux, USERNAME tidak boleh root,
kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM sebagai pengguna root.
Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus
diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, pengguna
cloudysanfrancisco dalam AD ad.example.com memiliki
USERNAME berupa example\cloudysanfrancisco.
ssh-keygen menyimpan file kunci pribadi Anda ke
~/.ssh/KEY_FILENAME dan file kunci publik Anda ke
~/.ssh/KEY_FILENAME.pub.
Kunci publik untuk pengguna cloudysanfrancisco terlihat mirip dengan yang berikut:
Di workstation dengan Windows versi 10 atau yang lebih baru, gunakan
utilitas ssh-keygen
untuk membuat pasangan kunci SSH baru. Contoh berikut akan membuat pasangan kunci RSA.
Buka Command Prompt dan gunakan perintah ssh-keygen dengan flag -C untuk membuat pasangan kunci SSH baru.
WINDOWS_USER: nama pengguna Anda di mesin
Windows.
KEY_FILENAME: nama untuk file kunci SSH Anda.
Misalnya, nama file my-ssh-key menghasilkan file kunci pribadi bernama
my-ssh-key dan file kunci publik bernama my-ssh-key.pub.
USERNAME: nama pengguna Anda di VM. Misalnya,
cloudysanfrancisco, atau cloudysanfrancisco_gmail_com.
Untuk VM Linux, USERNAME tidak boleh root,
kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM sebagai pengguna root.
Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus
diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, pengguna
cloudysanfrancisco dalam AD ad.example.com memiliki
USERNAME berupa example\cloudysanfrancisco.
ssh-keygen menyimpan file kunci pribadi Anda ke C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME dan file kunci publik Anda ke C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.
Kunci publik untuk pengguna cloudysanfrancisco terlihat mirip dengan yang berikut:
Di workstation dengan Windows versi 8 atau yang lebih lama, gunakan alat PuTTYgen untuk
membuat pasangan kunci SSH baru. Contoh berikut akan membuat pasangan kunci RSA.
Jumlah bit dalam kunci yang dibuat: 2048 atau lebih
Klik Buat dan ikuti petunjuk di layar.
Alat ini akan menampilkan nilai kunci publik.
Di bagian Key comment, ganti teks yang telah diisi otomatis dengan
nama pengguna Anda. Contohnya, cloudysanfrancisco atau cloudysanfrancisco_gmail_com.
Untuk VM Linux, Key comment tidak boleh root, kecuali jika Anda mengonfigurasi
VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM sebagai pengguna root.
Untuk VM Windows yang menggunakan Active Directory (AD), Key comment harus
diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, pengguna
cloudysanfrancisco dalam AD ad.example.com memiliki Key comment
berupa example\cloudysanfrancisco.
Opsional: masukkan Frasa sandi kunci untuk melindungi kunci Anda dengan sandi.
Klik Save private key untuk memilih lokasi yang akan dijadikan tujuan penyimpanan kunci
pribadi.
PuTTYgen menulis kunci pribadi ke file dengan ekstensi .ppk.
Klik Save public key untuk memilih lokasi penyimpanan kunci
publik Anda. Biarkan jendela PuTTYgen tetap terbuka.
Salin teks dari kolom Kunci publik untuk ditempel ke file OpenSSH
authorized_keys.
Buka file kunci publik. Kunci publik memiliki format yang mirip dengan berikut ini:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "USERNAME"
KEY_VALUE
---- END SSH2 PUBLIC KEY ----
Ganti seluruh konten file kunci publik dengan nilai yang Anda salin dari kolom Kunci publik untuk ditempel ke file OpenSSH authorized_keys, sehingga file kunci publik Anda cocok dengan format berikut:
KEY_VALUEUSERNAME
Kunci publik untuk pengguna cloudysanfrancisco terlihat mirip dengan yang berikut:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eThis document guides users on creating SSH key pairs for Compute Engine virtual machines (VMs) for connections outside the Google Cloud console or CLI.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication setup is required for accessing Google Cloud services and APIs, which can be done through the Google Cloud CLI or REST API.\u003c/p\u003e\n"],["\u003cp\u003eFor Linux and macOS, and Windows 10 or later, the \u003ccode\u003essh-keygen\u003c/code\u003e utility is used to generate SSH key pairs, specifying the key file name and username for the VM.\u003c/p\u003e\n"],["\u003cp\u003eWindows 8 or earlier users should use PuTTYgen, downloading \u003ccode\u003eputtygen.exe\u003c/code\u003e, selecting RSA key type, and setting key parameters before saving the private and public keys.\u003c/p\u003e\n"],["\u003cp\u003eThe public key file's content must be modified to match the format "KEY_VALUE USERNAME," and users can optionally set a key passphrase for added security.\u003c/p\u003e\n"]]],[],null,["# Create SSH keys\n\nLinux Windows\n\n*** ** * ** ***\n\nThis document describes how to create an SSH key pair for Compute Engine\nvirtual machine (VM) instances.\n\nBefore you begin\n----------------\n\n- If you haven't already, set up [authentication](/compute/docs/authentication). Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:\n\n Select the tab for how you plan to use the samples on this page: \n\n ### Console\n\n\n When you use the Google Cloud console to access Google Cloud services and\n APIs, you don't need to set up authentication.\n\n ### gcloud\n\n 1.\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n | **Note:** If you installed the gcloud CLI previously, make sure you have the latest version by running `gcloud components update`.\n 2. [Set a default region and zone](/compute/docs/gcloud-compute#set_default_zone_and_region_in_your_local_client).\n\n ### REST\n\n\n To use the REST API samples on this page in a local development environment, you use the\n credentials you provide to the gcloud CLI.\n 1. [Install](/sdk/docs/install) the Google Cloud CLI. After installation, [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command: \n\n ```bash\n gcloud init\n ```\n 2. If you're using an external identity provider (IdP), you must first [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n\n\n For more information, see\n [Authenticate for using REST](/docs/authentication/rest)\n in the Google Cloud authentication documentation.\n\nCreate an SSH key pair\n----------------------\n\nIf you connect to VMs using the Google Cloud console or the\nGoogle Cloud CLI, Compute Engine creates SSH keys on your behalf. For\nmore information on how Compute Engine configures and stores keys, see\n[About SSH connections](/compute/docs/instances/ssh).\n\nIf you connect to VMs using third party tools or OpenSSH, you need to\nadd a key to your VM before you can connect. If you don't have an SSH key,\nyou must create one. VMs accept the key formats listed in the `sshd_config`\nfile. \n\n### Linux and macOS\n\nOn Linux and macOS workstations, use the\n[`ssh-keygen` utility](https://man.openbsd.org/ssh-keygen)\nto create a new SSH key pair. The following example creates an RSA key pair.\n\nOpen a terminal and use the `ssh-keygen` command with the `-C` flag to\ncreate a new SSH key pair. \n\n```\nssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e: the name for your SSH key file.\n\n For example, a filename of `my-ssh-key` generates a private key file named\n `my-ssh-key` and a public key file named `my-ssh-key.pub`.\n- \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e: your username on the VM. For example,\n `cloudysanfrancisco`, or `cloudysanfrancisco_gmail_com`.\n\n For Linux VMs, the \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e can't be `root`,\n unless you configure your VM to allow root login. For more information,\n see [Connect to VMs as the root user](/compute/docs/connect/root-ssh).\n\n For Windows VMs that use Active Directory (AD), the username must be\n prepended with the AD domain, in the format of\n \u003cvar translate=\"no\"\u003eDOMAIN\u003c/var\u003e`\\`. For example, the user\n `cloudysanfrancisco` within the `ad.example.com` AD has a\n \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e of `example\\cloudysanfrancisco`.\n\n`ssh-keygen` saves your private key file to\n`~/.ssh/`\u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e and your public key file to\n`~/.ssh/`\u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e`.pub`.\n\nA public key for the user `cloudysanfrancisco` looks similar to the\nfollowing: \n\n```\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco\n```\n\n### Windows 10 or later\n\nOn workstations with Windows version 10 or later, use the\n[`ssh-keygen` utility](https://man.openbsd.org/ssh-keygen)\nto create a new SSH key pair. The following example creates an RSA key pair.\n\nOpen Command Prompt and use the `ssh-keygen` command with the `-C` flag to\ncreate a new SSH key pair. \n\n```\nssh-keygen -t rsa -f C:\\Users\\WINDOWS_USER\\.ssh\\KEY_FILENAME -C USERNAME\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eWINDOWS_USER\u003c/var\u003e: your username on the Windows\n machine.\n\n- \u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e: the name for your SSH key file.\n\n For example, a filename of `my-ssh-key` generates a private key file named\n `my-ssh-key` and a public key file named `my-ssh-key.pub`.\n- \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e: your username on the VM. For example,\n `cloudysanfrancisco`, or `cloudysanfrancisco_gmail_com`.\n\n For Linux VMs, the \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e can't be `root`,\n unless you configure your VM to allow root login. For more information,\n see [Connect to VMs as the root user](/compute/docs/connect/root-ssh).\n\n For Windows VMs that use Active Directory (AD), the username must be\n prepended with the AD domain, in the format of\n \u003cvar translate=\"no\"\u003eDOMAIN\u003c/var\u003e`\\`. For example, the user\n `cloudysanfrancisco` within the `ad.example.com` AD has a\n \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e of `example\\cloudysanfrancisco`.\n\n`ssh-keygen` saves your private key file to\n`C:\\Users\\`\u003cvar translate=\"no\"\u003eWINDOWS_USER\u003c/var\u003e`\\.ssh\\`\u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e\nand your public key file to\n`C:\\Users\\`\u003cvar translate=\"no\"\u003eWINDOWS_USER\u003c/var\u003e`\\.ssh\\`\u003cvar translate=\"no\"\u003eKEY_FILENAME\u003c/var\u003e`.pub`.\n\nA public key for the user `cloudysanfrancisco` looks similar to the\nfollowing: \n\n```\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco\n```\n\n### Windows 8 or earlier\n\nOn workstations with Windows version 8 or earlier, use the PuTTYgen tool to\ncreate a new SSH key pair. The following example creates an RSA key pair.\n\n1. [Download `puttygen.exe`](http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html)\n if you haven't already.\n\n2. Open PuTTYgen.\n\n3. Under **Parameters** specify the following:\n\n - **Type of key to generate** : `RSA`\n - **Number of bits in a generated key** : `2048` or more\n4. Click **Generate** and follow the on-screen instructions.\n\n The tool displays the public key value.\n5. In the **Key comment** section, replace the pre-populated text with your\n username. For example, `cloudysanfrancisco`, or\n `cloudysanfrancisco_gmail_com`.\n\n For Linux VMs, the **Key comment** can't be `root`, unless you configure\n your VM to allow root login. For more information,\n see [Connect to VMs as the root user](/compute/docs/connect/root-ssh).\n\n For Windows VMs that use Active Directory (AD), the **Key comment** must\n be prepended with the AD domain, in the format of\n \u003cvar translate=\"no\"\u003eDOMAIN\u003c/var\u003e`\\`. For example, the user\n `cloudysanfrancisco` within the `ad.example.com` AD has a **Key comment**\n of `example\\cloudysanfrancisco`.\n6. Optional: enter a **Key passphrase** to password-protect your key.\n\n7. Click **Save private key** to choose a location to save the private key\n to.\n\n PuTTYgen writes the private key to a file with a `.ppk` extension.\n8. Click **Save public key** to choose a location to save your public key\n to. Keep the PuTTYgen window open.\n\n9. Copy the text from the **Public key for pasting into OpenSSH\n authorized_keys file** field.\n\n10. Open the public key file. The public key has a format similar to the\n following:\n\n ```\n ---- BEGIN SSH2 PUBLIC KEY ----\n Comment: \"USERNAME\"\n KEY_VALUE\n ---- END SSH2 PUBLIC KEY ----\n ```\n11. Replace the entire contents of the public key file with the value you\n copied from the **Public key for pasting into OpenSSH authorized_keys\n file** field, so that your public key file matches the following format:\n\n ```\n KEY_VALUE USERNAME\n ```\n\nA public key for the user `cloudysanfrancisco` looks similar to the\nfollowing: \n\n```\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco\n```\n\nWhat's next?\n------------\n\n- Learn how to [Add SSH keys to VMs](/compute/docs/connect/add-ssh-keys)\n- Learn [About SSH connections](/compute/docs/instances/ssh) work on Compute Engine"]]