Configurer la console série interactive

La solution Bare Metal fournit une console série interactive pour accéder à vos serveurs Bare Metal. Vous pouvez exécuter directement des commandes et répondre aux invites dans la console série. Vous pouvez utiliser la console série pour effectuer des tâches de configuration et de dépannage. Les serveurs solution Bare Metal utilisent le premier port série (port 1) comme console série.

La console série interactive n'est compatible qu'avec les serveurs suivants :

  • Serveurs à usage général avec la version TS54 (43.45.00.002) ou ultérieure du micrologiciel.
  • Serveurs à mémoire optimisée avec la version 3.50.58 ou ultérieure du micrologiciel.

Avant de commencer, assurez-vous de mettre à niveau le micrologiciel de votre serveur vers la dernière version. Consultez la section Avant de commencer.

Les connexions interactives à la console série datant de plus de 30 jours peuvent être déconnectées de force.

Ce document explique comment activer et désactiver l'accès à la console série interactive sur vos serveurs.

Avant de commencer

  1. Activez l'API de la solution Bare Metal. Consultez Configurer votre projet Google Cloud pour utiliser l'API de la solution Bare Metal.

  2. Attribuez le rôle IAM (Identity and Access Management) approprié à l'utilisateur. Pour effectuer toutes les tâches décrites dans ce document, vous devez disposer de l'un des rôles suivants :

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Vérifiez que vous disposez de la version requise du micrologiciel :

    • Pour les serveurs à usage général, TS54 (43.45.00.002) ou version ultérieure.
    • Pour les serveurs à mémoire optimisée, 3.50.58 ou version ultérieure.

    Procédez comme suit :

    1. Sur votre serveur de solution Bare Metal, exécutez la commande suivante :

      sudo dmidecode -s bios-version
      

      Si l'opération réussit, la sortie affiche la version requise du BIOS ou une version ultérieure. Par exemple, dans le cas d'un serveur à usage général, la sortie affiche une version du BIOS 43.45.00.002 ou ultérieure :

      Version: BIOS_PUR043.45.00.002
      
    2. Si la version du BIOS est inférieure à celle du micrologiciel requise, mettez à niveau le micrologiciel de vos serveurs. Contactez l'assistance client pour obtenir de l'aide concernant la mise à niveau.

  4. Si votre serveur solution Bare Metal a été provisionné avant juin 2022, il est possible que les paramètres de démarrage du noyau ne disposent pas de la configuration requise pour la console série interactive. À l'inverse, si elle a été provisionnée après juin 2022, la configuration requise peut déjà être intégrée à votre image OS. Toutefois, il est possible que l'application de correctifs à l'OS ou l'application de règles spécifiques à l'entreprise aient modifié les paramètres de démarrage du noyau par défaut. Dans tous les cas, nous vous recommandons de vérifier la disponibilité de la configuration de l'OS requise pour la console série interactive.

    Pour vous assurer que votre OS dispose de la configuration requise pour la console série interactive, procédez comme suit :

    1. Recherchez le fichier de configuration GRUB (GRand Unified Bootloader) dans le répertoire /etc/default.
    2. Vérifiez que le fichier de configuration GRUB contient les paramètres suivants :

      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"
      

      Si le fichier contient ces paramètres, ignorez les instructions restantes. Vous pouvez utiliser votre fichier de configuration GRUB pour accéder à la console série.

    3. Si le fichier de configuration GRUB ne comporte pas ces paramètres, ajoutez-les manuellement.

    4. Exécutez la commande grub-mkconfig pour traiter les modifications. Pour en savoir plus, consultez la documentation GRUB.

    5. Redémarrez votre serveur.

Activer l'accès interactif à la console série

Pour activer la console série interactive et y accéder, procédez comme suit :

  1. Activez l'accès à la console série interactive.
  2. Générez une clé SSH.
  3. Enregistrez la clé SSH.
  4. Connectez-vous au serveur.

Activer l'accès interactif à la console série

Avant d'utiliser la console série interactive, vous devez activer l'accès à celle-ci sur votre serveur.

gcloud

Pour activer l'accès à la console série interactive, exécutez la commande gcloud bms instances enable-serial-console.

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

Remplacez les éléments suivants :

  • SERVER_NAME : nom de votre serveur.
  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.

API

Pour activer l'accès à la console série interactive, saisissez l'ID du projet, la région et le nom du serveur, puis exécutez la commande curl suivante.

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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.
  • SERVER_NAME : nom de votre serveur.

Générer une paire de clés SSH

Générez une paire de clés SSH pour authentifier votre accès à la console série. Cette opération ne doit être effectuée qu'une seule fois par projet.

Exécutez la commande ssh-keygen à partir d'une instance de VM hôte de jump ou d'un autre terminal connecté à Internet pour créer une paire de clés SSH.

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

Remplacez les éléments suivants :

  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.
  • PASSPHRASE : phrase secrète à utiliser pour accéder à vos serveurs via la console série.

La commande ssh-keygen enregistre votre clé privée dans un fichier nommé SSH_KEY_ID et votre clé publique dans un fichier nommé SSH_KEY_ID.pub dans votre répertoire personnel.

Enregistrer les clés SSH

Pour authentifier votre accès à la console série, enregistrez les clés SSH dans votre projet. Cette opération n'est à effectuer qu'une seule fois par paire de clés.

gcloud

Pour enregistrer vos clés SSH, exécutez la commande gcloud bms ssh-keys add.

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

Remplacez les éléments suivants :

  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.
  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.
  • SERVER_NAME : nom de votre serveur.

API

Pour enregistrer vos clés SSH, saisissez l'ID de votre projet, l'ID de la clé SSH et le nom du fichier de clé publique, puis exécutez la commande curl suivante.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.

Pour gérer les clés SSH de votre projet, consultez Gérer les clés SSH.

Se connecter au serveur

Avant de vous connecter à la console série interactive, vous pouvez éventuellement valider la connexion à l'aide des clés hôtes de la console série pour vous assurer d'être protégé contre les tentatives d'usurpation d'identité ou les attaques de l'intercepteur.

Utilisez SSH pour accéder à la console série interactive. Exécutez la commande suivante :

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

Remplacez les éléments suivants :

  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.
  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.
  • SERVER_NAME : nom de votre serveur.
  • USERNAME : nom d'utilisateur que vous utilisez pour accéder au serveur de solution Bare Metal via la console série.

Lorsque vous y êtes invité, saisissez la phrase secrète de la clé SSH que vous avez configurée précédemment. Si nécessaire, appuyez sur la touche Enter ou Return pour accéder à la console série interactive.

Se déconnecter de la console série interactive

Pour vous déconnecter de la console série, procédez comme suit :

  1. Appuyez sur la touche ENTER ou RETURN.
  2. Saisissez ~. (tilde, suivi d'un point).

Gérer les clés SSH

Les clés SSH sont stockées par projet. Vous pouvez gérer vos clés SSH de différentes manières :

Lister les clés SSH

Vous pouvez lister les clés SSH publiques enregistrées dans votre projet.

gcloud

Pour lister les clés SSH publiques, exécutez la commande gcloud bms ssh-keys list.

gcloud bms ssh-keys list --project=PROJECT_ID

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet

API

Pour lister les clés SSH publiques, saisissez l'ID de votre projet et exécutez la commande curl suivante.

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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet

Supprimer des clés SSH

Vous pouvez supprimer une clé SSH de la liste des clés autorisées pour un projet.

gcloud

Pour supprimer une clé SSH publique, exécutez la commande gcloud bms ssh-keys remove.

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

Remplacez les éléments suivants :

  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.
  • PROJECT_ID : ID de votre projet

API

Pour supprimer une clé SSH publique, saisissez l'ID de votre projet et l'ID de la clé SSH, puis exécutez la commande curl suivante.

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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • SSH_KEY_ID : nom racine de votre fichier de clé SSH utilisé pour générer les clés publique et privée.

Désactiver l'accès interactif à la console série

Suivez les instructions ci-dessous pour désactiver l'accès interactif à la console série sur un serveur.

gcloud

Pour désactiver la console série interactive, exécutez la commande gcloud bms instances disable-serial-console.

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

Remplacez les éléments suivants :

  • SERVER_NAME : nom de votre serveur.
  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.

API

Pour désactiver la console série interactive, saisissez l'ID de votre projet, la région et le nom du serveur, puis exécutez la commande curl suivante.

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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • REGION : région de votre serveur.
  • SERVER_NAME : nom de votre serveur.