Configurer la console série interactive
La solution Bare Metal fournit une console série interactive permettant d'accéder aux serveurs de la solution 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 de 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 équipés du micrologiciel TS54
(43.45.00.002
). Assurez-vous de mettre à niveau votre serveur vers le micrologiciel TS54
avant de commencer. Consultez la section Avant de commencer.
Les connexions interactives de 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 interactif à la console série sur vos serveurs.
Avant de commencer
Activez l'API de solution Bare Metal. Consultez la page Configurer votre projet Google Cloud pour utiliser l'API de solution Bare Metal.
Attribuez le rôle IAM (Identity and Access Management) approprié à l'utilisateur. Pour effectuer toutes les tâches de ce document, vous devez disposer de l'un des rôles suivants:
roles/baremetalsolution.admin
roles/baremetalsolution.editor
Vérifiez que vous disposez de la version requise du micrologiciel:
TS54
(43.45.00.002
) ou ultérieure. Procédez comme suit :Sur votre serveur de solution Bare Metal, exécutez la commande suivante:
sudo dmidecode -s bios-version
Si l'opération réussit, le résultat affiche une version du BIOS
43.45.00.002
ou ultérieure, comme illustré dans l'exemple suivant:Version: BIOS_PUR043.45.00.002
Si la version du BIOS est antérieure à la version
43.45.00.002
, mettez à jour le micrologiciel de vos serveurs. Contactez le service client pour obtenir de l'aide concernant la mise à niveau.
Assurez-vous que le fichier GRUB (GRand Unified Bootloader) de votre OS dispose de la configuration appropriée pour la console série. Procédez comme suit :
- Recherchez le fichier de configuration GRUB dans le répertoire
/etc/default
. 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.
Si le fichier de configuration GRUB ne contient pas ces paramètres, ajoutez-les manuellement.
Exécutez la commande
grub-mkconfig
pour traiter les modifications. Pour en savoir plus, consultez la documentation GRUB.Redémarrez votre serveur.
- Recherchez le fichier de configuration GRUB dans le répertoire
Activer l'accès interactif à la console série
Pour activer la console série interactive et y accéder, procédez comme suit:
- Activez l'accès à la console série interactive.
- Générez une clé SSH.
- Enregistrez la clé SSH.
- Connectez-vous au serveur.
Activer l'accès à la console série interactive
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 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: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 saut 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 du fichier de clé SSH utilisé pour générer les clés publiques et privées.
- 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 d'accueil.
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 ne doit être effectuée 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 du fichier de clé SSH utilisé pour générer les clés publiques et privées.
- 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 votre ID de projet, votre ID de clé SSH et votre nom de 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 du fichier de clé SSH utilisé pour générer les clés publiques et privées.
Pour gérer les clés SSH dans votre projet, consultez Gérer des clés SSH.
Se connecter au serveur
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@ssh-serialport.googleapis.com
Remplacez les éléments suivants :
- SSH_KEY_ID: nom racine du fichier de clé SSH utilisé pour générer les clés publiques et privées.
- 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. Au besoin, 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:
- Appuyez sur la touche
ENTER
ouRETURN
. - 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:
Répertorier les clés SSH
Vous pouvez répertorier les clés SSH publiques enregistrées dans votre projet.
gcloud
Pour répertorier 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 répertorier 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 du fichier de clé SSH utilisé pour générer les clés publiques et privées.
- PROJECT_ID : ID de votre projet
API
Pour supprimer une clé SSH publique, saisissez l'ID de votre projet et l'ID de votre 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 du fichier de clé SSH utilisé pour générer les clés publiques et privées.
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.