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 Befehle direkt ausführen und auf Aufforderungen in der seriellen Konsole antworten. Über die serielle 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 Servern mit TS54
-(43.45.00.002
)-Firmware unterstützt. Führen Sie ein Upgrade Ihres Servers auf die TS54
-Firmware durch, bevor Sie beginnen. Weitere Informationen
Interaktive serielle Konsolenverbindungen, die älter als 30 Tage sind, werden unter Umständen erzwungen.
In diesem Dokument wird beschrieben, wie Sie den Zugriff auf die interaktive serielle Konsole auf Ihren Servern aktivieren und deaktivieren.
Hinweis
die Bare-Metal-Lösungs-API aktivieren Weitere Informationen finden Sie unter Google Cloud-Projekt zur Verwendung der Bare Metal Solution API einrichten.
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
Prüfen Sie, ob Sie die erforderliche Version der Firmware haben:
TS54
(43.45.00.002
) oder höher. Gehen Sie so vor:Führen Sie auf dem Server der Bare-Metal-Lösung den folgenden Befehl aus:
sudo dmidecode | more
Wenn der Vorgang erfolgreich abgeschlossen wurde, wird für die Ausgabe die BIOS-Version
43.45.00.002
oder höher angezeigt, wie im folgenden Beispiel gezeigt:Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Table at 0x69402000. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: BULL Version: BIOS_PUR043.45.00.002 Release Date: 03/11/2022 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 16 MB
Wenn die BIOS-Version niedriger als
43.45.00.002
ist, führen Sie ein Upgrade der Firmware für Ihre Server aus. Bei Fragen zum Upgrade wenden Sie sich an Customer Care.
Achten Sie darauf, dass die GRUB-Datei (GRand Unified Bootloader) in Ihrem Betriebssystem die richtige Konfiguration für die Unterstützung der seriellen Konsole hat. Gehen Sie so vor:
- Suchen Sie im Verzeichnis
/etc/default
nach der GRUB-Konfigurationsdatei. 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, können Sie die restlichen Schritte überspringen. Sie können die GRUB-Konfigurationsdatei verwenden, um auf die serielle Konsole zuzugreifen.
Wenn die GRUB-Konfigurationsdatei diese Einstellungen nicht hat, fügen Sie sie manuell hinzu.
Führen Sie den Befehl
grub-mkconfig
aus, um die Änderungen zu verarbeiten. Weitere Informationen finden Sie in der GRUB-Dokumentation.Starten Sie Ihren Server neu.
- Suchen Sie im Verzeichnis
Interaktiven seriellen Konsolenzugriff aktivieren
So aktivieren Sie die interaktive serielle Konsole und greifen darauf zu:
- Zugriff auf die interaktive serielle Konsole aktivieren
- Generieren Sie einen SSH-Schlüssel.
- Registrieren Sie den SSH-Schlüssel.
- 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 auf Ihre Server 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
Dabei gilt:
- SERVER_NAME ist der Name Ihres Servers.
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
API
Geben Sie Ihre Projekt-ID, Ihre Region und Ihren 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"
Dabei gilt:
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
- SERVER_NAME ist der Name Ihres Servers.
SSH-Schlüsselpaar generieren
Generieren Sie ein SSH-Schlüsselpaar, um Ihren Zugriff auf die serielle Konsole zu authentifizieren. Dies ist nur einmal pro Projekt erforderlich.
Führen Sie den Befehl ssh-keygen
über eine Jump-Host-VM-Instanz oder ein anderes mit dem Internet verbundenes Terminal aus, um ein neues SSH-Schlüsselpaar zu erstellen.
ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
Dabei gilt:
- SSH_KEY_ID: Stammname Ihrer SSH-Schlüsseldatei zum Generieren öffentlicher und privater Schlüssel.
- PASSPHRASE: Passphrase, die beim Zugriff auf Ihre Server über die serielle Konsole verwendet wird.
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 den Zugriff auf die serielle Konsole zu authentifizieren. Das ist nur einmal pro Schlüsselpaar erforderlich.
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
Dabei gilt:
- SSH_KEY_ID: Stammname der SSH-Schlüsseldatei, die zum Generieren des öffentlichen und des privaten Schlüssels verwendet wird.
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
- SERVER_NAME ist der Name Ihres Servers.
API
Geben Sie zum Registrieren der SSH-Schlüssel die Projekt-ID, die SSH-Schlüssel-ID und den Dateinamen des öffentlichen Schlüssels ein und führen Sie dann 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)\"}"
Dabei gilt:
- PROJECT_ID: Ihre Projekt-ID.
- SSH_KEY_ID: Stammname der SSH-Schlüsseldatei, die zum Generieren des öffentlichen und des privaten Schlüssels 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
Dabei gilt:
- SSH_KEY_ID: Stammname der SSH-Schlüsseldatei, die zum Generieren des öffentlichen und des privaten Schlüssels verwendet wird.
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
- SERVER_NAME ist der 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 SSH-Schlüssel-Passphrase ein. Drücken Sie nach 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 serielle Konsole:
- Drücke die
ENTER
- oderRETURN
-Taste. - Geben Sie "
~.
" ein (Tilde gefolgt von einem Punkt).
SSH-Schlüssel verwalten
Die SSH-Schlüssel werden pro Projekt gespeichert. Sie können Ihre SSH-Schlüssel auf folgende Weise 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
Dabei gilt:
- 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"
Dabei gilt:
- 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
Dabei gilt:
- SSH_KEY_ID: Stammname der SSH-Schlüsseldatei, die zum Generieren des öffentlichen und des privaten Schlüssels verwendet wird.
- PROJECT_ID: Ihre Projekt-ID.
API
Geben Sie die Projekt-ID und die SSH-Schlüssel-ID ein und führen Sie den folgenden curl-Befehl aus, um einen öffentlichen SSH-Schlüssel zu löschen.
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"
Dabei gilt:
- PROJECT_ID: Ihre Projekt-ID.
- SSH_KEY_ID: Stammname der SSH-Schlüsseldatei, die zum Generieren des öffentlichen und des privaten Schlüssels verwendet wird.
Interaktiven seriellen Konsolenzugriff deaktivieren
So deaktivieren Sie den interaktiven Zugriff auf die serielle Konsole auf einem Server:
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
Dabei gilt:
- SERVER_NAME ist der Name Ihres Servers.
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
API
Geben Sie zum Deaktivieren der interaktiven seriellen Konsole die 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"
Dabei gilt:
- PROJECT_ID: Ihre Projekt-ID.
- REGION ist die Region Ihres Servers.
- SERVER_NAME ist der Name Ihres Servers.