Configura la console seriale interattiva

Bare Metal Solution fornisce una console seriale interattiva per accedere ai server Bare Metal Solution. Puoi eseguire comandi e rispondere ai prompt direttamente nella console seriale. Puoi usare 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 server con firmware TS54 (43.45.00.002). Assicurati di eseguire l'upgrade del server al firmware TS54 prima di iniziare. Vedi Prima di iniziare.

La disconnessione forzata delle connessioni della console seriale interattiva più vecchie di 30 giorni potrebbe essere forzata.

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

Prima di iniziare

  1. Attiva l'API Bare Metal Solution. Vedi Configurare il progetto Google Cloud per utilizzare l'API Bare Metal Solution.

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

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Verifica di disporre della versione richiesta del firmware: TS54 (43.45.00.002) o successiva. Segui questi passaggi:

    1. Sul server Bare Metal Solution, esegui questo comando:

      sudo dmidecode -s bios-version
      

      In caso di esito positivo, l'output mostra una versione del BIOS pari o superiore a 43.45.00.002, come mostrato nell'esempio seguente:

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

  4. Assicurati che il file GRand Unified Bootloader (GRUB) nel tuo sistema operativo abbia la configurazione corretta per supportare la console seriale. Segui questi passaggi:

    1. Individua il file di configurazione GRUB nella directory /etc/default.
    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.

Abilita l'accesso interattivo alla console seriale

Per attivare 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.

Abilita l'accesso alla console seriale interattiva

Prima di utilizzare la console seriale interattiva, devi abilitare l'accesso alla console sul tuo server.

gcloud

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

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

Sostituisci quanto segue:

  • SERVER_NAME: nome del server.
  • PROJECT_ID: l'ID del tuo progetto.
  • REGION: regione del tuo server.

API

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

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: l'ID del tuo progetto.
  • REGION: regione del tuo server.
  • SERVER_NAME: nome del server.

Genera una coppia di chiavi SSH

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

Esegui il comando ssh-keygen da un'istanza VM dell'host di salto 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 di chiavi SSH utilizzato per generare le chiavi pubbliche e private.
  • PASSPHRASE: passphrase da utilizzare per accedere ai server tramite la console seriale.

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

Registra le chiavi SSH

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

gcloud

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

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 di chiavi SSH utilizzato per generare le chiavi pubbliche e private.
  • PROJECT_ID: l'ID del tuo progetto.
  • REGION: regione del tuo 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, quindi esegui il comando curl riportato di seguito.

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: l'ID del tuo progetto.
  • SSH_KEY_ID: nome radice del file di chiavi SSH utilizzato per generare le chiavi pubbliche e private.

Per gestire le chiavi SSH nel progetto, consulta Gestione delle chiavi SSH.

Connettiti al server

Usa 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@ssh-serialport.googleapis.com
  

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file di chiavi SSH utilizzato per generare le chiavi pubbliche e private.
  • PROJECT_ID: l'ID del tuo progetto.
  • REGION: regione del tuo server.
  • SERVER_NAME: nome del server.
  • USERNAME: nome utente che utilizzi per accedere al server Bare Metal Solution tramite la console seriale.

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

Disconnettiti dalla console seriale interattiva

Per disconnetterti dalla console seriale, segui questi passaggi:

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

Per SAP HANA su Bare Metal Solution, utilizza CTRL + ] q per disconnetterti dalla console seriale interattiva.

Gestisci chiavi SSH

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

Elenca chiavi SSH

Puoi elencare le chiavi SSH pubbliche registrate nel tuo progetto.

gcloud

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

gcloud bms ssh-keys list --project=PROJECT_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo 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: l'ID del tuo progetto.

Elimina chiavi SSH

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

gcloud

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

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

Sostituisci quanto segue:

  • SSH_KEY_ID: nome radice del file di chiavi SSH utilizzato per generare le chiavi pubbliche e private.
  • PROJECT_ID: l'ID del tuo 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: l'ID del tuo progetto.
  • SSH_KEY_ID: nome radice del file di chiavi SSH utilizzato per generare le chiavi pubbliche e private.

Disattiva l'accesso interattivo alla console seriale

Segui le istruzioni riportate di seguito per disabilitare l'accesso interattivo alla console seriale su un server.

gcloud

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

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

Sostituisci quanto segue:

  • SERVER_NAME: nome del server.
  • PROJECT_ID: l'ID del tuo progetto.
  • REGION: regione del tuo server.

API

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

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: l'ID del tuo progetto.
  • REGION: regione del tuo server.
  • SERVER_NAME: nome del server.