Interaktive serielle Konsole konfigurieren

Die Bare-Metal-Lösung bietet eine interaktive serielle Konsole für den Zugriff auf die Server der Bare-Metal-Lösung. Sie können Befehle direkt in der seriellen Konsole ausführen und auf Aufforderungen antworten. Mit der seriellen Konsole können Sie Konfigurations- und Fehlerbehebungsaufgaben ausführen. Server der Bare-Metal-Lösung 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 TS54 (43.45.00.002) oder einer höheren Firmwareversion
  • Speicheroptimierte Server mit Firmwareversion 3.50.58 oder höher.

Vergiss nicht, deinen Server auf die neueste Firmware zu aktualisieren, bevor du ihn startest. Siehe Vorbereitung.

Interaktive serielle Konsolenverbindungen, die älter als 30 Tage sind, werden möglicherweise zwangsweise getrennt.

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

Hinweise

  1. Aktivieren Sie die API der Bare-Metal-Lösung. Weitere Informationen finden Sie unter Google Cloud-Projekt zur Verwendung der Bare-Metal-Lösungs-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 Version der Firmware 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 dem Server der Bare-Metal-Lösung 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 zeigt die Ausgabe beispielsweise eine BIOS-Version von 43.45.00.002 oder höher an:

      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. Wenden Sie sich an Customer Care, um Unterstützung beim Upgrade zu erhalten.

  4. Wenn der Server Ihrer Bare-Metal-Lösung vor Juni 2022 bereitgestellt wurde, fehlt bei den Kernel-Bootparametern möglicherweise die erforderliche Konfiguration für die interaktive serielle Konsole. Wenn sie jedoch nach Juni 2022 bereitgestellt wurde, ist die erforderliche Konfiguration möglicherweise bereits in das Betriebssystem-Image integriert. Trotzdem besteht die Möglichkeit, dass das Betriebssystem-Patch oder die unternehmensspezifische Richtlinienerzwingung die standardmäßigen Kernel-Bootparameter verändert haben. In jedem Fall empfehlen wir, die Verfügbarkeit der Betriebssystemkonfiguration zu prüfen, die für die interaktive serielle Konsole erforderlich ist.

    So sorgen Sie dafür, dass Ihr Betriebssystem über die erforderliche Konfiguration für die interaktive serielle Konsole verfügt:

    1. Suchen Sie die Konfigurationsdatei für GRand Unified Bootloader (GRUB) im Verzeichnis /etc/default.
    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 Anweisungen. Sie können Ihre GRUB-Konfigurationsdatei für den Zugriff auf die serielle Konsole verwenden.

    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

Gehen Sie folgendermaßen vor, um die interaktive serielle Konsole zu aktivieren und darauf zuzugreifen:

  1. Aktivieren Sie den Zugriff auf die interaktive serielle Konsole.
  2. Generieren 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, 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 ermöglichen.

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, Ihre 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 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: Root-Name der SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PASSPHRASE: Passphrase, die beim Zugriff auf Ihre Server über die serielle Konsole verwendet werden soll.

Der Befehl ssh-keygen speichert den privaten Schlüssel in einer Datei namens SSH_KEY_ID und den öffentlichen Schlüssel in einer Datei namens SSH_KEY_ID.pub in Ihrem Basisverzeichnis.

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 durchgeführt werden.

gcloud

Registrieren Sie Ihre SSH-Schlüssel mit dem Befehl gcloud bms ssh-keys add.

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

Ersetzen Sie Folgendes:

  • SSH_KEY_ID: Root-Name der 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 der SSH-Schlüssel Ihre Projekt-ID, die 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: Root-Name der 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

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: Root-Name der 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: Nutzername, mit dem Sie über die serielle Konsole auf den Server der Bare-Metal-Lösung zugreifen.

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

Verbindung zur interaktiven seriellen Konsole trennen

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 für SAP HANA in einer Bare-Metal-Lösung CTRL + ] q, um die Verbindung zur interaktiven seriellen Konsole zu trennen.

SSH-Schlüssel verwalten

Die SSH-Schlüssel werden pro Projekt gespeichert. Sie können Ihre SSH-Schlüssel auf folgende Arten 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 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: Root-Name der SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.
  • PROJECT_ID: Ihre Projekt-ID.

API

Zum Löschen eines öffentlichen SSH-Schlüssels geben Sie Ihre Projekt-ID und die SSH-Schlüssel-ID ein und führen 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: Root-Name der SSH-Schlüsseldatei, die zum Generieren der öffentlichen und privaten Schlüssel verwendet wird.

Interaktiven seriellen Konsolenzugriff deaktivieren

Verwenden Sie die folgende Anleitung, 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 Ihre Projekt-ID, die Region und den Servernamen ein und führen Sie den folgenden curl-Befehl aus, 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.