Configura la consola en serie interactiva
La solución Bare Metal proporciona una consola en serie interactiva para acceder a los servidores de la solución Bare Metal. Puedes ejecutar comandos directamente y responder a las solicitudes en la consola en serie. Puedes usar la consola en serie para realizar tareas de configuración y solución de problemas. Los servidores de la solución Bare Metal usan el primer puerto en serie (puerto 1) como la consola en serie.
La consola en serie interactiva solo es compatible con servidores con firmware TS54
(43.45.00.002
). Asegúrate de actualizar el servidor al firmware TS54
antes de comenzar. Consulta Antes de comenzar.
Las conexiones interactivas a consolas en serie de más de 30 días podrían desconectarse de manera forzosa.
En este documento, se describe cómo inhabilitar y habilitar el acceso interactivo a la consola en serie en los servidores.
Antes de comenzar
Habilita la API de la solución Bare Metal. Consulta Configura tu proyecto de Google Cloud para usar la API de Bare Metal.
Otorgar al usuario la función de Identity and Access Management (IAM) adecuada Para realizar todas las tareas de este documento, debes tener una de las siguientes funciones:
roles/baremetalsolution.admin
roles/baremetalsolution.editor
Verifica que tengas la versión requerida del firmware:
TS54
(43.45.00.002
) o superior. Lleve a cabo los pasos siguientes:En el servidor de la solución Bare Metal, ejecuta el siguiente comando:
sudo dmidecode | more
Si se ejecuta de forma correcta, el resultado muestra una versión del BIOS de
43.45.00.002
o superior, como se muestra en el siguiente ejemplo: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
Si la versión del BIOS es inferior a
43.45.00.002
, actualiza el firmware de los servidores. Comunícate con Atención al cliente para obtener asistencia con la actualización.
Asegúrate de que el archivo GRand Unified Bootloader (GRUB) de tu SO tenga la configuración adecuada para admitir la consola en serie. Lleve a cabo los pasos siguientes:
- Busca el archivo de configuración de GRUB en el directorio
/etc/default
. Verifique que el archivo de configuración de GRUB contenga la siguiente configuración:
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 el archivo contiene estos parámetros de configuración, omite las demás instrucciones. Puedes usar el archivo de configuración de GRUB para acceder a la consola en serie.
Si el archivo de configuración de GRUB no tiene esta configuración, agrégala de forma manual.
Ejecuta el comando
grub-mkconfig
para procesar los cambios. Para obtener más información, consulta la documentación de GRUB.Reinicia el servidor.
- Busca el archivo de configuración de GRUB en el directorio
Habilitar el acceso interactivo a la consola en serie
Para habilitar la consola en serie interactiva y acceder a ella, sigue estos pasos:
- Habilita el acceso a la consola en serie interactiva.
- Genera una clave SSH.
- Registra la llave SSH.
- Conéctate al servidor.
Habilita el acceso a la consola en serie interactiva
Antes de usar la consola en serie interactiva, debes habilitar el acceso a ella en tu servidor.
gcloud
Para habilitar el acceso a la consola en serie interactiva, ejecuta el comando gcloud bms instances enable-serial-console
.
gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
Reemplaza lo siguiente:
- SERVER_NAME: el nombre de tu servidor
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
API
Para habilitar el acceso a la consola en serie interactiva, ingresa el ID del proyecto, la región y el nombre del servidor, y ejecuta el siguiente comando curl.
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"
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
- SERVER_NAME: el nombre de tu servidor
Genera un par de llaves SSH
Genera un par de claves SSH para autenticar tu acceso a la consola en serie. Esto debe hacerse solo una vez por proyecto.
Ejecuta el comando ssh-keygen
desde una instancia de VM de host de salto o alguna otra terminal conectada a Internet para crear un nuevo par de claves SSH.
ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
- PASSPHRASE: Es una frase de contraseña para usar cuando accedes a los servidores a través de la consola en serie.
El comando ssh-keygen
guarda tu clave privada en un archivo llamado SSH_KEY_ID, y tu clave pública en un archivo llamado SSH_KEY_ID.pub en tu directorio principal.
Registra las claves SSH
Para autenticar tu acceso a la consola en serie, registra las claves SSH en tu proyecto. Esto se debe hacer solo una vez por par de claves.
gcloud
Para registrar tus Llaves SSH, ejecuta el comando gcloud bms ssh-keys add
.
gcloud bms ssh-keys add SSH_KEY_ID --project=PROJECT_ID --key-file=SSH_KEY_ID.pub
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
- SERVER_NAME: el nombre de tu servidor
API
Para registrar tus claves SSH, ingresa el ID de tu proyecto, el ID de la clave SSH y el nombre de archivo de la clave pública, y emite el siguiente comando curl.
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)\"}"
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
Para administrar las claves SSH de tu proyecto, consulta Administra claves SSH.
Conéctate al servidor
Usa SSH para acceder a la consola en serie interactiva. Ejecuta el siguiente comando:
ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@ssh-serialport.googleapis.com
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
- SERVER_NAME: el nombre de tu servidor
- USERNAME: Es el nombre de usuario que usas para acceder al servidor de la solución Bare Metal a través de la consola en serie.
Cuando se te solicite, ingresa la frase de contraseña de la llave SSH que configuraste antes. Según sea necesario, presiona las teclas Enter
o Return
para obtener acceso a la consola en serie interactiva.
Desconéctate de la consola en serie interactiva
Para desconectarte de la consola en serie, sigue estos pasos:
- Presiona la tecla
ENTER
oRETURN
. - Escribe
~.
(virgulilla, seguido de un punto).
Administrar Llaves SSH
Las claves SSH se almacenan por proyecto. Puedes administrar tus Llaves SSH de las siguientes maneras:
Mostrar lista de claves SSH
Puedes enumerar las claves SSH públicas registradas en tu proyecto.
gcloud
Para enumerar las Llaves SSH públicas, ejecuta el comando gcloud bms ssh-keys list
.
gcloud bms ssh-keys list --project=PROJECT_ID
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
API
Para enumerar las Llaves SSH públicas, ingresa el ID del proyecto y ejecuta el siguiente comando curl.
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"
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
Borrar claves SSH
Puedes borrar una clave SSH de la lista de claves autorizadas para un proyecto.
gcloud
Para borrar una Llave SSH pública, ejecuta el comando gcloud bms ssh-keys remove
.
gcloud bms ssh-keys remove SSH_KEY_ID --project=PROJECT_ID
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
- PROJECT_ID: ID del proyecto
API
Para borrar una Llave SSH pública, ingresa el ID del proyecto y la Llave SSH, y emite el siguiente comando curl.
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"
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
- SSH_KEY_ID: Es el nombre raíz del archivo de claves SSH que se usó para generar las claves públicas y privadas.
Inhabilitar el acceso interactivo a la consola en serie
Usa las siguientes instrucciones para inhabilitar el acceso interactivo a la consola en serie en un servidor.
gcloud
Para inhabilitar la consola en serie interactiva, ejecuta el comando gcloud bms instances disable-serial-console
.
gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
Reemplaza lo siguiente:
- SERVER_NAME: el nombre de tu servidor
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
API
Para inhabilitar la consola en serie interactiva, ingresa el ID del proyecto, la región y el nombre del servidor, y ejecuta el siguiente comando curl.
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"
Reemplaza lo siguiente:
- PROJECT_ID: ID del proyecto
- REGION: Es la región de tu servidor.
- SERVER_NAME: el nombre de tu servidor