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 Befehle ausführen und auf Aufforderungen in der seriellen Konsole 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 Beginn 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.

Hinweise

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

  2. Weisen Sie dem Nutzer die entsprechende IAM-Rolle (Identity and Access Management) zu. Um alle Aufgaben in diesem Dokument ausführen zu können, 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
      

      Bei Erfolg wird in der Ausgabe die erforderliche BIOS-Version oder eine höhere angezeigt. Bei einem Server für allgemeine Zwecke wird beispielsweise eine BIOS-Version von 43.45.00.002 oder höher ausgegeben:

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

  4. Wenn Ihr Bare-Metal-Lösungsserver vor Juni 2022 bereitgestellt wurde, fehlt den Kernel-Bootparametern möglicherweise die erforderliche Konfiguration für die interaktive serielle Konsole. Wenn das Gerät hingegen nach Juni 2022 bereitgestellt wurde, ist die erforderliche Konfiguration möglicherweise bereits in Ihrem Betriebssystem-Image integriert. Es besteht jedoch die Möglichkeit, dass durch Betriebssystem-Patches oder die Durchsetzung von unternehmensspezifischen Richtlinien die Standard-Kernel-Bootparameter 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 Konfigurationsdatei des GRand Unified Bootloaders (GRUB).
    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 restliche Anleitung. Sie können Ihre GRUB-Konfigurationsdatei verwenden, um auf die serielle Konsole zuzugreifen.

    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. Erstellen Sie einen SSH-Schlüssel.
  3. Registrieren Sie den SSH-Schlüssel.
  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 Befehl gcloud bms instances enable-serial-console 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 des 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 des Servers.

SSH-Schlüsselpaar generieren

Generieren Sie ein SSH-Schlüsselpaar, um sich auf der seriellen Konsole zu authentifizieren. Dies muss nur einmal pro Projekt durchgeführt werden.

Führen Sie den Befehl ssh-keygen von 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: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.
  • PASSPHRASE: 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 Basisverzeichnis gespeichert.

SSH-Schlüssel registrieren

Registrieren Sie die SSH-Schlüssel in Ihrem Projekt, um Ihren Zugriff auf die serielle Konsole zu authentifizieren. 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: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name des Servers.

API

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

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: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.

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

Verbindung zum Server herstellen

Verwenden Sie SSH, um auf die interaktive serielle Konsole zuzugreifen. Führen Sie dazu diesen Befehl aus:

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Region Ihres Servers.
  • SERVER_NAME: Name des Servers.
  • USERNAME: Der Nutzername, mit dem Sie über die serielle Konsole auf den Bare-Metal-Lösungsserver zugreifen.

Geben Sie die zuvor konfigurierte Passphrase für den SSH-Schlüssel ein, wenn Sie dazu aufgefordert werden. Drücken Sie bei Bedarf die Taste Enter oder Return, um auf die interaktive serielle Konsole zuzugreifen.

Verbindung zur interaktiven seriellen Konsole aufheben

So trennen Sie die Verbindung zur seriellen Konsole:

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

Verwenden Sie bei SAP HANA in der Bare-Metal-Lösung die Taste CTRL + ] q, um die Verbindung zur interaktiven seriellen Konsole zu trennen.

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 eine Liste der öffentlichen SSH-Schlüssel aufzurufen.

gcloud bms ssh-keys list --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.

API

Geben Sie Ihre Projekt-ID ein und führen Sie den folgenden curl-Befehl aus, um die öffentlichen SSH-Schlüssel aufzulisten.

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: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.
  • PROJECT_ID: Ihre Projekt-ID.

API

Wenn Sie einen öffentlichen SSH-Schlüssel löschen möchten, geben Sie Ihre Projekt-ID und die 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: Stammname Ihrer SSH-Schlüsseldatei, mit der die öffentlichen und privaten Schlüssel generiert wurden.

Interaktiven seriellen Konsolenzugriff deaktivieren

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

gcloud

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

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

Ersetzen Sie Folgendes:

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

API

Wenn Sie die interaktive serielle Konsole deaktivieren möchten, geben Sie Ihre Projekt-ID, die Region und den Servernamen 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/REGION/instances/SERVER_NAME:disableInteractiveSerialConsole"

Ersetzen Sie Folgendes:

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