Mengonfigurasi konsol serial interaktif

Solusi Bare Metal menyediakan konsol serial interaktif untuk mengakses server Solusi Bare Metal Anda. Anda dapat langsung menjalankan perintah dan merespons perintah di konsol serial. Anda dapat menggunakan konsol serial untuk melakukan tugas konfigurasi dan pemecahan masalah. Server Bare Metal Solution menggunakan port serial pertama (port 1) sebagai konsol serial.

Konsol serial interaktif hanya didukung di server berikut:

  • Server serbaguna dengan versi firmware TS54 (43.45.00.002) atau yang lebih tinggi.
  • Server yang dioptimalkan untuk memori dengan versi firmware 3.50.58 atau yang lebih tinggi.

Pastikan Anda mengupgrade server ke firmware terbaru sebelum memulai. Lihat Sebelum memulai.

Koneksi konsol serial interaktif yang sudah lebih dari 30 hari mungkin terputus secara paksa.

Dokumen ini menjelaskan cara mengaktifkan dan menonaktifkan akses konsol serial interaktif di server Anda.

Sebelum memulai

  1. Aktifkan Bare Metal Solution API. Lihat Menyiapkan project Google Cloud untuk menggunakan Bare Metal Solution API.

  2. Berikan peran Identity and Access Management (IAM) yang sesuai kepada pengguna. Untuk melakukan semua tugas dalam dokumen ini, Anda harus memiliki salah satu peran berikut:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Pastikan Anda memiliki versi firmware yang diperlukan:

    • Untuk server tujuan umum, TS54 (43.45.00.002) atau yang lebih tinggi.
    • Untuk server yang dioptimalkan untuk memori, 3.50.58 atau yang lebih tinggi.

    Ikuti langkah-langkah berikut:

    1. Di server Solusi Bare Metal Anda, jalankan perintah berikut:

      sudo dmidecode -s bios-version
      

      Jika berhasil, output akan menampilkan versi BIOS yang diperlukan atau yang lebih baru. Misalnya, dalam kasus server serbaguna, output menampilkan versi BIOS 43.45.00.002 atau yang lebih tinggi:

      Version: BIOS_PUR043.45.00.002
      
    2. Jika versi BIOS lebih rendah dari firmware yang diperlukan, upgrade firmware untuk server Anda. Hubungi Layanan Pelanggan untuk mendapatkan bantuan upgrade.

  4. Jika server Bare Metal Solution Anda disediakan sebelum Juni 2022, parameter booting kernel mungkin tidak memiliki konfigurasi yang diperlukan untuk konsol serial interaktif. Sebaliknya, jika disediakan setelah Juni 2022, konfigurasi yang diperlukan mungkin sudah terintegrasi ke dalam image OS Anda. Namun, ada kemungkinan bahwa penerapan kebijakan khusus perusahaan atau penambalan OS telah mengubah parameter booting kernel default. Bagaimanapun, sebaiknya Anda memverifikasi ketersediaan konfigurasi OS yang diperlukan untuk konsol serial interaktif.

    Untuk memastikan OS Anda memiliki konfigurasi yang diperlukan untuk konsol serial interaktif, ikuti langkah-langkah berikut:

    1. Temukan file konfigurasi GRand Unified Bootloader (GRUB) di direktori /etc/default.
    2. Verifikasi bahwa file konfigurasi GRUB berisi setelan berikut:

      GRUB_CMDLINE_LINUX="(append to the existing value) console=tty0 console=ttyS0,115200"
      GRUB_TERMINAL_OUTPUT="console serial"
      GRUB_TERMINAL="console serial"
      GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
      

      Jika file berisi setelan ini, lewati petunjuk lainnya. Anda dapat menggunakan file konfigurasi GRUB untuk mengakses serial console.

    3. Jika file konfigurasi GRUB tidak memiliki setelan ini, tambahkan secara manual.

    4. Jalankan perintah grub-mkconfig untuk memproses perubahan. Untuk mengetahui informasi selengkapnya, lihat dokumentasi GRUB.

    5. Mulai ulang server Anda.

Mengaktifkan akses konsol serial interaktif

Untuk mengaktifkan dan mengakses konsol serial interaktif, ikuti langkah-langkah berikut:

  1. Aktifkan akses ke konsol serial interaktif.
  2. Buat kunci SSH.
  3. Daftarkan kunci SSH.
  4. Hubungkan ke server.

Mengaktifkan akses ke konsol serial interaktif

Sebelum menggunakan konsol serial interaktif, Anda harus mengaktifkan akses ke konsol tersebut di server Anda.

gcloud

Untuk mengaktifkan akses ke konsol serial interaktif, jalankan perintah gcloud bms instances enable-serial-console.

gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

Ganti kode berikut:

  • SERVER_NAME: Nama server Anda.
  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.

API

Untuk mengaktifkan akses ke konsol serial interaktif, masukkan project ID, region, dan nama server Anda, lalu jalankan perintah curl berikut.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:enableInteractiveSerialConsole"

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.
  • SERVER_NAME: Nama server Anda.

Membuat pasangan kunci SSH

Buat pasangan kunci SSH untuk mengautentikasi akses Anda ke konsol serial. Tindakan ini hanya perlu dilakukan sekali per project.

Jalankan perintah ssh-keygen dari instance VM jump host atau terminal lain yang terhubung ke internet untuk membuat pasangan kunci SSH baru.

  ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
  

Ganti kode berikut:

  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.
  • PASSPHRASE: Frasa sandi yang akan digunakan saat mengakses server Anda melalui konsol serial.

Perintah ssh-keygen menyimpan kunci pribadi Anda ke file bernama SSH_KEY_ID, dan kunci publik Anda ke file bernama SSH_KEY_ID.pub di direktori beranda Anda.

Mendaftarkan kunci SSH

Untuk mengautentikasi akses Anda ke konsol serial, daftarkan kunci SSH di project Anda. Tindakan ini hanya perlu dilakukan sekali per pasangan kunci.

gcloud

Untuk mendaftarkan kunci SSH Anda, jalankan perintah gcloud bms ssh-keys add.

gcloud bms ssh-keys add SSH_KEY_ID --project=PROJECT_ID --key-file=SSH_KEY_ID.pub

Ganti kode berikut:

  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.
  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.
  • SERVER_NAME: Nama server Anda.

API

Untuk mendaftarkan kunci SSH Anda, masukkan project ID, ID kunci SSH, dan nama file kunci publik, lalu jalankan perintah curl berikut.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys?ssh_key_id=SSH_KEY_ID" \
--data "{\"public_key\": \"$(cat SSH_KEY_ID.pub)\"}"

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.
  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.

Untuk mengelola kunci SSH di project Anda, lihat Mengelola kunci SSH.

Hubungkan ke server

Sebelum terhubung ke konsol serial interaktif, Anda dapat secara opsional memvalidasi koneksi menggunakan kunci host konsol serial untuk membantu memastikan bahwa Anda terlindungi dari peniruan identitas atau serangan man-in-the-middle.

Gunakan SSH untuk mengakses konsol serial interaktif. Jalankan perintah berikut:

  ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@\REGION\-ssh-serialport.googleapis.com
  

Ganti kode berikut:

  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.
  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.
  • SERVER_NAME: Nama server Anda.
  • USERNAME: Nama pengguna yang Anda gunakan untuk mengakses server Bare Metal Solution melalui konsol serial.

Saat diminta, masukkan frasa sandi kunci SSH yang Anda konfigurasi sebelumnya. Jika diperlukan, tekan tombol Enter atau Return untuk mendapatkan akses ke konsol serial interaktif.

Memutus koneksi dari konsol serial interaktif

Untuk memutuskan koneksi dari konsol serial, ikuti langkah-langkah berikut:

  1. Tekan tombol ENTER atau RETURN.
  2. Ketikkan ~. (tanda tilde, diikuti dengan titik).

Mengelola Kunci SSH

Kunci SSH disimpan per project. Anda dapat mengelola kunci SSH dengan cara berikut:

Mencantumkan kunci SSH

Anda dapat mencantumkan kunci SSH publik yang terdaftar di project Anda.

gcloud

Untuk mencantumkan kunci SSH publik, jalankan perintah gcloud bms ssh-keys list.

gcloud bms ssh-keys list --project=PROJECT_ID

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.

API

Untuk mencantumkan kunci SSH publik, masukkan project ID Anda dan jalankan perintah curl berikut.

curl -v \
-X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys"

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.

Menghapus kunci SSH

Anda dapat menghapus kunci SSH dari daftar kunci yang diizinkan untuk project.

gcloud

Untuk menghapus kunci SSH publik, jalankan perintah gcloud bms ssh-keys remove.

gcloud bms ssh-keys remove SSH_KEY_ID --project=PROJECT_ID

Ganti kode berikut:

  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.
  • PROJECT_ID: Project ID Anda.

API

Untuk menghapus kunci SSH publik, masukkan project ID dan ID kunci SSH Anda, lalu keluarkan perintah curl berikut.

curl -v \
-X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys/SSH_KEY_ID"

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.
  • SSH_KEY_ID: Nama root file kunci SSH Anda yang digunakan untuk membuat kunci publik dan pribadi.

Menonaktifkan akses konsol serial interaktif

Gunakan petunjuk berikut untuk menonaktifkan akses konsol serial interaktif di server.

gcloud

Untuk menonaktifkan konsol serial interaktif, jalankan perintah gcloud bms instances disable-serial-console.

gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

Ganti kode berikut:

  • SERVER_NAME: Nama server Anda.
  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.

API

Untuk menonaktifkan konsol serial interaktif, masukkan project ID, region, dan nama server Anda, lalu jalankan perintah curl berikut.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:disableInteractiveSerialConsole"

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.
  • REGION: Region server Anda.
  • SERVER_NAME: Nama server Anda.