Interaktive serielle Konsole konfigurieren

Die Bare-Metal-Lösung bietet eine interaktive serielle Konsole für den Zugriff auf Ihre Bare-Metal-Lösungsserver. Sie können direkt über die serielle Konsole Befehle ausführen und auf Aufforderungen reagieren. Sie können die serielle Konsole für Konfigurations- und Fehlerbehebungsaufgaben verwenden. Bare Metal-Lösungsserver verwenden den ersten seriellen Port (Port 1) als serielle Konsole.

Die interaktive serielle Konsole wird nur auf den folgenden Servern unterstützt:

  • Server für allgemeine Zwecke mit der Firmwareversion TS54 (43.45.00.002) oder höher.
  • Speicheroptimierte Server mit Firmwareversion 3.50.58 oder höher.

Aktualisieren Sie Ihren Server vor dem Start auf die neueste Firmware. Siehe Vorbereitung.

Verbindungen zur interaktiven seriellen Konsole, die älter als 30 Tage sind, werden möglicherweise zwangsweise getrennt.

In diesem Dokument wird beschrieben, wie Sie den Zugriff auf die interaktive serielle Konsole auf Ihren Servern aktivieren und deaktivieren.

Hinweis

  1. Aktivieren Sie die Bare-Metal-Lösung API. Weitere Informationen finden Sie unter Google Cloud -Projekt für die Verwendung der Bare-Metal-Lösung API einrichten.

  2. Weisen Sie dem Nutzer die entsprechende IAM-Rolle (Identity and Access Management) zu. Zum Ausführen aller Aufgaben in diesem Dokument benötigen Sie eine der folgenden Rollen:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Prüfen Sie, ob Sie die erforderliche Firmwareversion haben:

    • Für Server für allgemeine Zwecke: TS54 (43.45.00.002) oder höher.
    • Für speicheroptimierte Server: 3.50.58 oder höher.

    Gehen Sie so vor:

    1. Führen Sie auf Ihrem Bare-Metal-Lösungsserver den folgenden Befehl aus:

      sudo dmidecode -s bios-version
      

      Wenn der Vorgang erfolgreich war, wird in der Ausgabe die erforderliche BIOS-Version oder höher angezeigt. Bei einem Server für allgemeine Zwecke wird in der Ausgabe beispielsweise eine BIOS-Version von 43.45.00.002 oder höher angezeigt:

      Version: BIOS_PUR043.45.00.002
      
    2. Wenn die BIOS-Version niedriger als die erforderliche Firmware ist, führen Sie ein Upgrade der Firmware für Ihre Server durch. Wende dich an den Kundenservice, um Unterstützung beim Upgrade zu erhalten.

  4. Wenn Ihr Bare-Metal-Lösung-Server vor Juni 2022 bereitgestellt wurde, fehlen den Kernel-Boot-Parametern möglicherweise die erforderlichen Konfigurationen für die interaktive serielle Konsole. Wenn es nach Juni 2022 bereitgestellt wurde, ist die erforderliche Konfiguration möglicherweise bereits in Ihr Betriebssystem-Image integriert. Es besteht jedoch die Möglichkeit, dass durch das Patchen des Betriebssystems oder die Durchsetzung unternehmensspezifischer Richtlinien die Standard-Bootparameter des Kernels geändert wurden. Wir empfehlen Ihnen in jedem Fall, die Verfügbarkeit der für die interaktive serielle Konsole erforderlichen Betriebssystemkonfiguration zu prüfen.

    So prüfen Sie, ob Ihr Betriebssystem die erforderliche Konfiguration für die interaktive serielle Konsole hat:

    1. Suchen Sie im Verzeichnis /etc/default nach der GRUB-Konfigurationsdatei (GRand Unified Bootloader).
    2. Prüfen Sie, ob die GRUB-Konfigurationsdatei die folgenden Einstellungen enthält:

      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"
      

      Wenn die Datei diese Einstellungen enthält, überspringen Sie die restlichen Anleitungen. Sie können über Ihre GRUB-Konfigurationsdatei auf die serielle Konsole zugreifen.

    3. Wenn die GRUB-Konfigurationsdatei diese Einstellungen nicht enthält, fügen Sie sie manuell hinzu.

    4. Führen Sie den Befehl grub-mkconfig aus, um die Änderungen zu verarbeiten. Weitere Informationen finden Sie in der GRUB-Dokumentation.

    5. Starten Sie den Server neu.

Interaktiven seriellen Konsolenzugriff aktivieren

So aktivieren Sie die interaktive serielle Konsole und greifen darauf zu:

  1. Aktivieren Sie den Zugriff auf die interaktive serielle Konsole.
  2. SSH-Schlüssel generieren
  3. SSH-Schlüssel registrieren
  4. Stellen Sie eine Verbindung zum Server her.

Zugriff auf die interaktive serielle Konsole aktivieren

Bevor Sie die interaktive serielle Konsole verwenden können, müssen Sie den Zugriff darauf auf Ihrem Server aktivieren.

gcloud

Führen Sie den gcloud bms instances enable-serial-console-Befehl aus, um den Zugriff auf die interaktive serielle Konsole zu aktivieren.

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

Ersetzen Sie Folgendes:

  • SERVER_NAME: Name Ihres Servers.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.

API

Geben Sie Ihre Projekt-ID, die Region und den Servernamen ein und führen Sie den folgenden curl-Befehl aus, um den Zugriff auf die interaktive serielle Konsole zu aktivieren.

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"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name Ihres Servers.

SSH-Schlüsselpaar generieren

Generieren Sie ein SSH-Schlüsselpaar, um Ihren Zugriff auf die serielle Konsole zu authentifizieren. Dies muss nur einmal pro Projekt durchgeführt werden.

Führen Sie den Befehl ssh-keygen auf einer Jump-Host-VM-Instanz oder einem anderen mit dem Internet verbundenen Terminal aus, um ein neues SSH-Schlüsselpaar zu erstellen.

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PASSPHRASE: Die Passphrase, die beim Zugriff auf Ihre Server über die serielle Konsole verwendet werden soll.

Mit dem Befehl ssh-keygen wird Ihr privater Schlüssel in einer Datei namens SSH_KEY_ID und Ihr öffentlicher Schlüssel in einer Datei namens SSH_KEY_ID.pub in Ihrem Home-Verzeichnis gespeichert.

SSH-Schlüssel registrieren

Um Ihren Zugriff auf die serielle Konsole zu authentifizieren, registrieren Sie die SSH-Schlüssel in Ihrem Projekt. Dies muss nur einmal pro Schlüsselpaar erfolgen.

gcloud

Führen Sie den Befehl gcloud bms ssh-keys add aus, um Ihre SSH-Schlüssel zu registrieren.

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name Ihres Servers.

API

Geben Sie zum Registrieren Ihrer SSH-Schlüssel Ihre Projekt-ID, SSH-Schlüssel-ID und den Dateinamen des öffentlichen Schlüssels ein und führen Sie den folgenden curl-Befehl aus.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.

Informationen zum Verwalten der SSH-Schlüssel in Ihrem Projekt finden Sie unter SSH-Schlüssel verwalten.

Verbindung zum Server herstellen

Bevor Sie eine Verbindung zur interaktiven seriellen Konsole herstellen, können Sie optional die Verbindung mit den Hostschlüsseln der seriellen Konsole validieren, um sich vor Identitätsdiebstahl oder Mittelsmannangriffen zu schützen.

Mit SSH auf die interaktive serielle Konsole zugreifen Führen Sie dazu diesen Befehl aus:

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name Ihres Servers.
  • USERNAME: Der Nutzername, den Sie für den Zugriff auf den Bare-Metal-Lösungsserver über die serielle Konsole verwenden.

Geben Sie bei entsprechender Aufforderung die von Ihnen zuvor konfigurierte SSH-Schlüssel-Passphrase ein. Drücken Sie bei Bedarf die Taste Enter oder Return, um auf die interaktive serielle Konsole zuzugreifen.

Verbindung zur interaktiven seriellen Konsole trennen

So heben Sie die Verbindung zur seriellen Konsole auf:

  1. Drücken Sie die Taste ENTER oder RETURN.
  2. Geben Sie "~." ein (Tilde gefolgt von einem Punkt).

SSH-Schlüssel verwalten

Die SSH-Schlüssel werden pro Projekt gespeichert. Sie haben folgende Möglichkeiten, Ihre SSH-Schlüssel zu verwalten:

SSH-Schlüssel auflisten

Sie können die in Ihrem Projekt registrierten öffentlichen SSH-Schlüssel auflisten.

gcloud

Führen Sie den Befehl gcloud bms ssh-keys list aus, um die öffentlichen SSH-Schlüssel aufzulisten.

gcloud bms ssh-keys list --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.

API

Geben Sie zum Auflisten der öffentlichen SSH-Schlüssel Ihre Projekt-ID ein und führen Sie den folgenden curl-Befehl aus.

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"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.

SSH-Schlüssel löschen

Sie können einen SSH-Schlüssel aus der Liste der autorisierten Schlüssel für ein Projekt löschen.

gcloud

Führen Sie den Befehl gcloud bms ssh-keys remove aus, um einen öffentlichen SSH-Schlüssel zu löschen.

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PROJECT_ID: Ihre Projekt-ID.

API

Geben Sie zum Löschen eines öffentlichen SSH-Schlüssels Ihre Projekt-ID und SSH-Schlüssel-ID ein und führen Sie den folgenden curl-Befehl aus.

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"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • SSH_KEY_ID: Der Stammname Ihrer SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.

Interaktiven seriellen Konsolenzugriff deaktivieren

Folgen Sie der Anleitung unten, um den interaktiven Zugriff auf die serielle Konsole auf einem Server zu deaktivieren.

gcloud

Führen Sie den Befehl gcloud bms instances disable-serial-console aus, um die interaktive serielle Konsole zu deaktivieren.

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

Ersetzen Sie Folgendes:

  • SERVER_NAME: Name Ihres Servers.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.

API

Geben Sie die Projekt-ID, die Region und den Servernamen ein und geben Sie den folgenden curl-Befehl ein, um die interaktive serielle Konsole zu deaktivieren.

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"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name Ihres Servers.