Configurare la console seriale interattiva

Bare Metal Solution fornisce una console seriale interattiva per accedere ai server Bare Metal Solution. Puoi eseguire direttamente i comandi e rispondere ai prompt nella console seriale. Puoi utilizzare la console seriale per eseguire attività di configurazione e risoluzione dei problemi. I server Bare Metal Solution utilizzano la prima porta seriale (porta 1) come console seriale.

La console seriale interattiva è supportata solo sui seguenti server:

  • Server per scopi generici con TS54 (43.45.00.002) o versione firmware superiore.
  • Server ottimizzati per la memoria con versione firmware 3.50.58 o successiva.

Prima di iniziare, assicurati di eseguire l'upgrade del server all'ultima versione del firmware. Vedi Prima di iniziare.

Le connessioni alla console seriale interattiva più vecchie di 30 giorni potrebbero essere interrotte forzatamente.

Questo documento descrive come abilitare e disabilitare l'accesso alla console seriale interattiva sui server.

Prima di iniziare

  1. Abilita l'API Bare Metal Solution. Consulta Configurare il Google Cloud progetto per utilizzare l'API Bare Metal Solution.

  2. Concedi all'utente il ruolo Identity and Access Management (IAM) appropriato. Per eseguire tutte le attività descritte in questo documento, devi disporre di uno dei seguenti ruoli:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Verifica di avere la versione firmware richiesta:

    • Per i server per scopi generici, TS54 (43.45.00.002) o versioni successive.
    • Per i server ottimizzati per la memoria, 3.50.58 o versioni successive.

    Segui questi passaggi:

    1. Sul server Bare Metal Solution, esegui il comando seguente:

      sudo dmidecode -s bios-version
      

      Se l'operazione va a buon fine, l'output mostra la versione BIOS richiesta o una versione successiva. Ad esempio, nel caso di un server per scopi generici, l'output mostra una versione BIOS di 43.45.00.002 o successiva:

      Version: BIOS_PUR043.45.00.002
      
    2. Se la versione BIOS è inferiore al firmware richiesto, esegui l'upgrade del firmware dei server. Contatta l'assistenza clienti per ricevere assistenza per l'upgrade.

  4. Se il provisioning del server Bare Metal Solution è stato eseguito prima di giugno 2022, i parametri di avvio del kernel potrebbero non avere la configurazione richiesta per la console seriale interattiva. Al contrario, se il provisioning è stato eseguito dopo giugno 2022, la configurazione richiesta potrebbe essere già integrata nell'immagine del sistema operativo. Tuttavia, è possibile che l'applicazione di patch al sistema operativo o l'applicazione di policy specifiche dell'azienda abbiano modificato i parametri di avvio del kernel predefiniti. In ogni caso, ti consigliamo di verificare la disponibilità della configurazione del sistema operativo richiesta per la console seriale interattiva.

    Per assicurarti che il sistema operativo abbia la configurazione richiesta per la console seriale interattiva, segui questi passaggi:

    1. Individua il file di configurazione GRand Unified Bootloader (GRUB) nella /etc/default directory.
    2. Verifica che il file di configurazione GRUB contenga le seguenti impostazioni:

      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"
      

      Se il file contiene queste impostazioni, salta le istruzioni rimanenti. Puoi utilizzare il file di configurazione GRUB per accedere alla console seriale.

    3. Se il file di configurazione GRUB non ha queste impostazioni, aggiungile manualmente.

    4. Esegui il comando grub-mkconfig per elaborare le modifiche. Per ulteriori informazioni, consulta la documentazione di GRUB.

    5. Riavvia il server.

Abilitare l'accesso alla console seriale interattiva

Per abilitare e accedere alla console seriale interattiva, segui questi passaggi:

  1. Abilita l'accesso alla console seriale interattiva.
  2. Genera una chiave SSH.
  3. Registra la chiave SSH.
  4. Connettiti al server.

Abilitare l'accesso alla console seriale interattiva

Prima di utilizzare la console seriale interattiva, devi abilitarne l'accesso su l server.

gcloud

Per abilitare l'accesso alla console seriale interattiva, esegui il gcloud bms instances enable-serial-console comando.

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

Sostituisci quanto segue:

  • SERVER_NAME: nome del server.
  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.

API

Per abilitare l'accesso alla console seriale interattiva, inserisci l'ID progetto, regione e nome del server ed esegui il seguente comando curl.

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"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.
  • SERVER_NAME: nome del server.

Generare una coppia di chiavi SSH

Genera una coppia di chiavi SSH per autenticare l'accesso alla console seriale. Questa operazione deve essere eseguita una sola volta per progetto.

Esegui il comando ssh-keygen da un'istanza VM jump host o da un altro terminale connesso a internet per creare una nuova coppia di chiavi SSH.

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

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.
  • PASSPHRASE: passphrase da utilizzare per accedere ai server tramite la console seriale.

Il comando ssh-keygen salva la chiave privata in un file denominato SSH_KEY_ID, e la chiave pubblica in un file denominato SSH_KEY_ID.pub nella tua home directory.

Registrare le chiavi SSH

Per autenticare l'accesso alla console seriale, registra le chiavi SSH nel tuo progetto. Questa operazione deve essere eseguita una sola volta per coppia di chiavi.

gcloud

Per registrare le chiavi SSH, esegui il gcloud bms ssh-keys add comando.

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

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.
  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.
  • SERVER_NAME: nome del server.

API

Per registrare le chiavi SSH, inserisci l'ID progetto, l'ID della chiave SSH e il nome file della chiave pubblica ed esegui il seguente comando curl.

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)\"}"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.

Per gestire le chiavi SSH nel progetto, consulta Gestire le chiavi SSH.

Connettiti al server

Prima di connetterti alla console seriale interattiva, puoi scegliere di convalidare la connessione utilizzando le chiavi host della console seriale per proteggerti da attacchi di impersonificazione o man-in-the-middle.

Utilizza SSH per accedere alla console seriale interattiva. Esegui questo comando:

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

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.
  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.
  • SERVER_NAME: nome del server.
  • USERNAME: nome utente che utilizzi per accedere al server Bare Metal Solution tramite la console seriale.

Quando ti viene richiesto, inserisci la passphrase della chiave SSH che hai configurato in precedenza. Se necessario, premi il tasto Enter o Return per accedere alla console seriale interattiva.

Disconnettersi dalla console seriale interattiva

Per disconnetterti dalla console seriale, segui questi passaggi:

  1. Premi il tasto ENTER o RETURN.
  2. Digita ~. (tilde seguita da un punto).

Gestire le chiavi SSH

Le chiavi SSH vengono archiviate per progetto. Puoi gestire le chiavi SSH in nei seguenti modi:

Elencare le chiavi SSH

Puoi elencare le chiavi SSH pubbliche registrate nel progetto.

gcloud

Per elencare le chiavi SSH pubbliche, esegui il gcloud bms ssh-keys list comando.

gcloud bms ssh-keys list --project=PROJECT_ID

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.

API

Per elencare le chiavi SSH pubbliche, inserisci l'ID progetto ed esegui il seguente comando curl.

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"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.

Eliminare le chiavi SSH

Puoi eliminare una chiave SSH dall'elenco delle chiavi autorizzate per un progetto.

gcloud

Per eliminare una chiave SSH pubblica, esegui il gcloud bms ssh-keys remove comando.

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

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.
  • PROJECT_ID: il tuo ID progetto.

API

Per eliminare una chiave SSH pubblica, inserisci l'ID progetto e l'ID della chiave SSH ed esegui il seguente comando curl.

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"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • SSH_KEY_ID: nome radice del file della chiave SSH utilizzato per generare le chiavi pubblica e privata.

Disabilitare l'accesso alla console seriale interattiva

Utilizza le seguenti istruzioni per disabilitare l'accesso alla console seriale interattiva su un server.

gcloud

Per disabilitare la console seriale interattiva, esegui il gcloud bms instances disable-serial-console comando.

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

Sostituisci quanto segue:

  • SERVER_NAME: nome del server.
  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.

API

Per disabilitare la console seriale interattiva, inserisci l'ID progetto, la regione, e il nome del server ed esegui il seguente comando curl.

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"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione del server.
  • SERVER_NAME: nome del server.