Sebelum memulai
- Untuk informasi tentang cara mengelola akses ke VM Compute Engine, lihat Memilih metode akses.
- Jika Anda belum melakukannya, buat pasangan kunci SSH.
-
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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Menambahkan kunci ke VM yang menggunakan Login OS
VM yang menggunakan Login OS menerima kunci SSH yang terkait dengan Akun Google Anda. Anda dapat mengaitkan kunci SSH publik dengan Akun Google Anda menggunakan gcloud CLI atau OS Login API. Jika Anda adalah administrator organisasi, Anda dapat menambahkan kunci SSH ke akun pengguna menggunakan Directory API.
Saat Anda menambahkan kunci SSH ke Akun Google Anda, Compute Engine akan menghasilkan nama pengguna dengan menggabungkan nama pengguna dan domain dari email yang terkait dengan Akun Google Anda. Misalnya, jika alamat email Anda adalah cloudysanfrancisco@gmail.com, nama pengguna Anda adalah cloudysanfrancisco_gmail_com.
Jika Anda menambahkan kunci SSH ke project yang berada di luar organisasi, nama pengguna Anda akan diawali dengan ext_, misalnya, ext_cloudysanfrancisco_gmail_com. Administrator organisasi dapat menyesuaikan nama pengguna menggunakan Directory API. Jika nama pengguna Anda sudah dikonfigurasi, Compute Engine akan menggunakan nama pengguna tersebut saat Anda menambahkan kunci SSH.
gcloud
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada sesi.
Untuk menambahkan kunci SSH publik ke akun Anda, gunakan perintah
gcloud compute os-login ssh-keys add:gcloud compute os-login ssh-keys add \ --key-file=KEY_FILE_PATH \ --project=PROJECT \ --ttl=EXPIRE_TIME
Ganti kode berikut:
KEY_FILE_PATH: jalur ke kunci SSH publik di workstation Anda. Kunci harus menggunakan formatpublic-opensshPROJECT: Opsional: project tempat Anda akan menggunakan kunci SSH. Tentukan kolom ini untuk menggunakan kunci SSH dalam project di luar organisasi Anda, atau jika Anda bukan anggota organisasi Cloud IdentityEXPIRE_TIME: Opsional: waktu habis masa berlaku kunci SSHMisalnya, jika Anda menentukan
30m, masa berlaku kunci SSH akan habis setelah 30 menit.Flag ini menggunakan unit berikut:
suntuk detikmuntuk menithuntuk jamduntuk hari
Terraform
Untuk menambahkan kunci SSH publik ke akun Anda, gunakan resource google_client_openid_userinfo bersama dengan resource google_os_login_ssh_public_key.
REST
Untuk menambahkan kunci SSH publik ke akun Anda, gunakan metode users.importSshPublicKey OS Login API:
POST https://oslogin.googleapis.com/v1/users/ACCOUNT_EMAIL:importSshPublicKey
{
"key": "SSH_KEY",
"expirationTimeUsec": "EXPIRATION_TIMESTAMP"
}
Ganti kode berikut:
ACCOUNT_EMAIL: alamat email yang terkait dengan akun Anda.SSH_KEY: kunci publik yang Anda ingin tambahkan ke akunEXPIRATION_TIMESTAMP: waktu habis masa berlaku kunci, dalam mikrodetik sejak epoch (1 detik = 106 mikrodetik)
Menambahkan kunci SSH ke VM yang menggunakan kunci SSH berbasis metadata
VM yang tidak menggunakan Login OS menyimpan kunci SSH di project Compute Engine dan metadata instance. Jika Login OS diaktifkan untuk VM, agen tamu VM akan mengabaikan kunci yang disimpan dalam metadata.
Anda dapat menggunakan kunci SSH yang disimpan dalam metadata project untuk mengakses semua VM dalam project. Anda dapat menggunakan kunci SSH yang disimpan dalam metadata instance untuk mengakses VM individual.
Compute Engine tidak otomatis menghapus kunci SSH yang sudah tidak berlaku dari metadata pada waktu habis masa berlakunya, tetapi kunci tersebut tidak dapat digunakan untuk membuat koneksi baru ke VM. Jika ingin menghapus kunci yang habis masa berlakunya dari metadata, baca artikel Menghapus kunci SSH dari VM yang menggunakan kunci berbasis metadata.
Anda dapat menambahkan kunci SSH publik ke metadata project atau instance VM menggunakan Google Cloud konsol, gcloud CLI, atau REST. Anda tidak dapat menetapkan nilai metadata zonal untuk kunci SSH.
Menambahkan kunci SSH ke metadata project
Anda dapat menambahkan kunci SSH publik ke metadata project untuk mengakses semua VM dalam project, kecuali VM yang memblokir kunci SSH di tingkat project. Untuk penjelasan selengkapnya tentang cara memblokir kunci SSH di tingkat project, baca Memblokir kunci SSH dari VM yang menggunakan kunci SSH berbasis metadata.
Konsol
Untuk menambahkan kunci SSH publik ke metadata project menggunakan konsolGoogle Cloud , lakukan langkah berikut:
Di konsol Google Cloud , buka halaman Metadata.
Klik tab SSH keys.
Klik Edit.
Klik Tambahkan item.
Di kolom SSH key yang terbuka, tambahkan kunci SSH publik Anda. Kunci harus dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
KEY_VALUE USERNAME
- Format kunci dengan waktu habis masa berlaku:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Contohcloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Klik Save.
gcloud
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada sesi.
Jika sudah ada kunci SSH di metadata project, Anda harus menambahkannya kembali ke metadata project setiap kali menambahkan kunci SSH baru menggunakan gcloud CLI. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.
Untuk menambahkan kunci SSH publik ke metadata project menggunakan gcloud CLI, lakukan langkah berikut:
Jika project Anda sudah memiliki kunci SSH publik tingkat project, dapatkan kunci tersebut dari metadata dan tambahkan ke file baru:
Jalankan perintah
gcloud compute project-info describeuntuk mendapatkan kunci SSH untuk project:gcloud compute project-info describe \ --format="value(commonInstanceMetadata[items][ssh-keys])"
Output-nya mirip dengan berikut ini:
username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...
Salin nilai metadata
ssh-keys.Buat dan buka file teks baru di workstation Anda.
Di dalam file tersebut, tempel daftar kunci yang baru saja Anda salin.
Tambahkan kunci baru Anda di akhir daftar, dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Simpan dan tutup file tersebut.
Jalankan perintah
gcloud compute project-info add-metadatauntuk menetapkan nilaissh-keystingkat project:gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Ganti
KEY_FILEdengan salah satu dari berikut ini:- Jalur ke file yang Anda buat pada langkah sebelumnya, jika project sudah memiliki kunci SSH
- Jalur ke file kunci SSH publik baru, jika project tidak memiliki kunci SSH
Terraform
Untuk menambahkan kunci SSH publik ke metadata project Anda, gunakan resource google_compute_project_metadata.
REST
Jika sudah ada kunci SSH di metadata project, Anda harus menambahkannya kembali ke metadata project setiap kali menambahkan kunci SSH baru menggunakan Compute Engine API. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.
Untuk menambahkan kunci SSH publik ke metadata project menggunakan Compute Engine API, lakukan langkah berikut:
Dapatkan nilai
fingerprintdanssh-keysdari metadata menggunakan metodeprojects.getGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Ganti
PROJECT_IDdengan project ID Anda.Responsnya mirip dengan hal berikut ini:
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...Tambahkan nilai
ssh-keysbaru menggunakan metodeprojects.setCommonInstanceMetadata.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY" } ] "fingerprint": "FINGERPRINT" }Ganti kode berikut:
PROJECT_ID: ID project AndaEXISTING_SSH_KEYS: nilai kuncissh-keysdari respons permintaanprojects.getFINGERPRINT: nilaifingerprintdari respons permintaanprojects.getNEW_SSH_KEY: kunci SSH baru, dalam salah satu format berikut:- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Menambahkan kunci SSH ke metadata instance
Anda dapat menambahkan kunci SSH publik ke metadata instance saat membuat VM atau setelah membuat VM.
Menambahkan kunci SSH ke metadata instance selama pembuatan VM
Anda dapat menambahkan kunci SSH ke metadata instance selama pembuatan VM, menggunakan konsolGoogle Cloud , gcloud CLI, atau Compute Engine API.
Konsol
Untuk membuat instance dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan konsol Google Cloud , lakukan langkah berikut:
Di konsol Google Cloud , buka halaman Create an instance.
Untuk menambahkan kunci SSH publik ke metadata instance, lakukan langkah berikut:
Di menu navigasi, klik Security.
Luaskan bagian Manage access.
Untuk menonaktifkan Login OS, hapus centang pada kotak Kontrol akses VM melalui izin IAM.
Jika Anda ingin mengizinkan kunci SSH publik dalam metadata project untuk mengakses instance, hapus centang pada kotak Block project-wide SSH keys.
Di bagian Add manually generated SSH keys, klik Add item.
Tambahkan kunci publik Anda di kotak teks. Kunci ini harus dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
KEY_VALUE USERNAME
- Format kunci dengan waktu habis masa berlaku:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Contohcloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Opsional: Tentukan opsi konfigurasi lainnya. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.
Untuk membuat dan memulai instance, klik Create.
gcloud
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada sesi.
Untuk membuat VM dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan gcloud CLI, gunakan perintah
gcloud compute instances create:gcloud compute instances create VM_NAME \ --metadata=ssh-keys=PUBLIC_KEY
Ganti kode berikut:
VM_NAME: nama VM baruPUBLIC_KEY: kunci SSH publik Anda, dalam salah satu format berikut:- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Anda dapat menambahkan beberapa kunci SSH menggunakan flag
--metadata-from-file=ssh-keys=FILE_PATH. Dalam file tersebut, tambahkan daftar nama pengguna dan kunci SSH publik dalam salah satu format sebelumnya.
Terraform
Untuk menambahkan kunci SSH publik ke metadata instance, gunakan resource google_compute_instance.
REST
Untuk membuat VM dan menambahkan kunci SSH publik ke metadata instance secara bersamaan menggunakan Compute Engine, buat permintaan POST ke metode instances.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Ganti kode berikut:
PROJECT_ID: the project IDZONE: zona VM
Dalam isi permintaan, berikan nama pengguna dan kunci SSH publik di properti items:
...
{
"items": [
{
"key": "ssh-keys",
"value": "PUBLIC_KEY"
}
]
}
...
Ganti PUBLIC_KEY dengan kunci publik Anda, dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
Anda dapat menambahkan beberapa kunci SSH dengan menambahkan \n di antara kunci.
Menambahkan kunci SSH ke metadata instance setelah pembuatan VM
Anda dapat menambahkan kunci SSH ke metadata instance setelah pembuatan VM, menggunakan Google Cloud konsol, gcloud CLI, atau Compute Engine API.
Konsol
Untuk menambahkan kunci SSH publik ke metadata instance menggunakan konsolGoogle Cloud , lakukan langkah berikut:
Di konsol Google Cloud , buka halaman VM instances.
Klik nama VM tempat Anda ingin menambahkan kunci SSH.
Klik Edit.
Di bagian SSH Keys, klik Add item.
Tambahkan kunci publik Anda ke dalam kotak teks. Kunci ini harus dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
KEY_VALUE USERNAME
- Format kunci dengan waktu habis masa berlaku:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Contohcloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke VM Linux sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Klik Save.
gcloud
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada sesi.
Jika sudah ada kunci SSH dalam metadata instance, Anda harus menambahkannya kembali ke metadata instance setiap kali menambahkan kunci SSH baru menggunakan gcloud CLI. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.
Untuk menambahkan kunci SSH publik ke metadata instance menggunakan gcloud CLI, lakukan langkah berikut:
Jika VM Anda sudah memiliki kunci SSH publik tingkat instance, dapatkan kunci tersebut dari metadata dan tambahkan ke file baru:
Jalankan perintah
gcloud compute instances describeuntuk mendapatkan metadata untuk VM:gcloud compute instances describe VM_NAME
Ganti VM_NAME dengan nama VM tempat Anda ingin menambahkan atau menghapus kunci SSH publik.
Output-nya mirip dengan berikut ini:
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Salin nilai metadata
ssh-keys.Buat dan buka file teks baru di workstation Anda.
Di dalam file tersebut, tempel daftar kunci yang baru saja Anda salin.
Tambahkan kunci baru Anda di akhir daftar, dalam salah satu format berikut:
- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Simpan dan tutup file tersebut.
Jalankan perintah
gcloud compute instances add-metadatauntuk menetapkan nilaissh-keys:gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Ganti kode berikut:
VM_NAME: VM yang ingin Anda tambahi kunci SSHKEY_FILEdengan salah satu dari berikut ini:- Jalur ke file yang Anda buat pada langkah sebelumnya, jika VM sudah memiliki kunci SSH
- Jalur ke file kunci SSH publik baru, jika VM tidak memiliki kunci SSH
REST
Jika sudah ada kunci SSH dalam metadata instance, Anda harus menambahkannya kembali ke metadata instance setiap kali menambahkan kunci SSH baru menggunakan Compute Engine API. Jika Anda tidak menambahkan kembali kunci yang sudah ada, menambahkan kunci baru akan menghapus kunci yang ada.
Untuk menambahkan kunci SSH publik ke metadata instance menggunakan Compute Engine API, lakukan langkah berikut:
Dapatkan nilai
fingerprintdanssh-keysdari metadata menggunakan metodeinstances.get.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ganti kode berikut:
PROJECT_ID: project ID AndaZONE: zona VM tempat Anda menambahkan kunci SSHVM_NAME: VM tempat Anda menambahkan kunci SSH
Responsnya mirip dengan hal berikut ini:
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...Tambahkan nilai
ssh-keysbaru menggunakan metodeinstances.setMetadata.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY" } ] "fingerprint": "FINGERPRINT" }Ganti kode berikut:
PROJECT_ID: ID project AndaEXISTING_SSH_KEYS: nilai kuncissh-keysdari respons permintaaninstances.getFINGERPRINT:fingerprintdari respons permintaanprojects.getNEW_SSH_KEY: kunci SSH baru, dalam salah satu format berikut:- Format kunci tanpa waktu habis masa berlaku:
USERNAME:KEY_VALUE
- Format kunci dengan waktu habis masa berlaku:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Ganti kode berikut:
KEY_VALUE: nilai kunci SSH publikUSERNAME: nama pengguna Anda. Misalnya,cloudysanfranciscoataucloudysanfrancisco_gmail_com.Untuk VM Linux,
USERNAMEtidak bolehroot, kecuali jika Anda mengonfigurasi VM Anda untuk mengizinkan login root. Untuk mengetahui informasi selengkapnya, lihat Terhubung ke instance sebagai pengguna root.Untuk VM Windows yang menggunakan Active Directory (AD), nama pengguna harus diawali dengan domain AD, dalam format
DOMAIN\. Misalnya, penggunacloudysanfranciscodalam ADad.example.commemilikiUSERNAMEdariexample\cloudysanfrancisco.EXPIRE_TIME: waktu habis masa berlaku kunci, dalam format ISO 8601. Contoh:2021-12-04T20:12:00+0000
- Format kunci tanpa waktu habis masa berlaku:
Apa langkah selanjutnya?
- Pelajari cara terhubung ke VM.
- Pelajari cara mengelola akses ke VM.
- Pelajari cara mentransfer file ke VM.
- Pelajari cara kerja koneksi SSH ke VM Linux di Compute Engine.