Configura la consola en serie interactiva
La solución Bare Metal proporciona una consola en serie interactiva para acceder a tus 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 los siguientes servidores:
- Servidores de uso general con
TS54(43.45.00.002) o una posterior - Servidores con optimización de memoria con la versión de firmware
3.50.58o una posterior
Asegúrate de actualizar tu servidor al firmware más reciente antes de comenzar. Consulta Antes de comenzar.
Es posible que las conexiones de la consola en serie interactiva de más de 30 días se desconecten de forma forzosa.
En este documento, se describe cómo habilitar y, también, inhabilitar el acceso a la consola en serie interactiva en tus servidores.
Antes de comenzar
Habilita la API de la solución Bare Metal. Consulta Configura tu Google Cloud proyecto para usar la API de la solución Bare Metal.
Otorga 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.adminroles/baremetalsolution.editor
Verifica que tengas la versión requerida del firmware:
- Para servidores de uso general,
TS54(43.45.00.002) o una posterior - Para servidores con optimización de memoria,
3.50.58o una posterior
Lleva a cabo los pasos siguientes:
En tu servidor de la solución Bare Metal, ejecuta el siguiente comando:
sudo dmidecode -s bios-version
Si se ejecuta de forma correcta, el resultado muestra la versión de BIOS requerida o una posterior. Por ejemplo, en el caso de un servidor de uso general, el resultado muestra una versión de BIOS de
43.45.00.002o una posterior:Version: BIOS_PUR043.45.00.002
Si la versión de BIOS es anterior al firmware requerido, actualiza el firmware de tus servidores. Comunícate con Atención al cliente para obtener ayuda con la actualización.
- Para servidores de uso general,
Si tu servidor de la solución Bare Metal se aprovisionó antes de junio de 2022, es posible que los parámetros de arranque del kernel no tengan la configuración requerida para la consola en serie interactiva. Por el contrario, si se aprovisionó después de junio de 2022, es posible que la configuración requerida ya esté integrada en tu imagen de SO. Sin embargo, existe la posibilidad de que la aplicación de parches del SO o la aplicación de políticas específicas de la empresa hayan alterado los parámetros de arranque del kernel predeterminados. En cualquier caso, te recomendamos que verifiques la disponibilidad de la configuración del SO requerida para la consola en serie interactiva.
Para asegurarte de que tu SO tenga la configuración requerida para la consola en serie interactiva, sigue estos pasos:
- Ubica el archivo de configuración de GRand Unified Bootloader (GRUB) en el
/etc/defaultdirectorio. Verifica que el archivo de configuración de GRUB contenga los siguientes parámetros de 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 instrucciones restantes. Puedes usar tu archivo de configuración de GRUB para acceder a la consola en serie.
Si el archivo de configuración de GRUB no tiene estos parámetros de configuración, agrégalos de forma manual.
Ejecuta el comando
grub-mkconfigpara procesar los cambios. Para obtener más información, consulta la documentación de GRUB.Reinicia el servidor.
- Ubica el archivo de configuración de GRand Unified Bootloader (GRUB) en el
Habilita el acceso a la consola en serie interactiva
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 clave 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
gcloud bms instances enable-serial-console comando.
gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
Reemplaza lo siguiente:
- SERVER_NAME: Es el nombre de tu servidor.
- PROJECT_ID: Es el ID de tu 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: Es el ID de tu proyecto.
- REGION: Es la región de tu servidor.
- SERVER_NAME: Es el nombre de tu servidor.
Genera un par de llaves SSH
Genera un par de llaves 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 desde otra
terminal conectada a Internet para crear un nuevo par de llaves SSH.
ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
- PASSPHRASE: Es la frase de contraseña que se usará cuando accedas a tus servidores a través de la consola en serie.
El comando ssh-keygen guarda tu llave privada en un archivo llamado SSH_KEY_ID y
tu llave pública en un archivo llamado SSH_KEY_ID.pub en tu directorio
principal.
Registra las llaves SSH
Para autenticar tu acceso a la consola en serie, registra las llaves SSH en tu proyecto. Esto debe hacerse solo una vez por par de llaves.
gcloud
Para registrar tus llaves SSH, ejecuta el
gcloud bms ssh-keys add comando.
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 de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
- PROJECT_ID: Es el ID de tu proyecto.
- REGION: Es la región de tu servidor.
- SERVER_NAME: Es el nombre de tu servidor.
API
Para registrar tus llaves SSH, ingresa el ID del proyecto, el ID de la llave SSH y el nombre de archivo de la llave pública , 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/global/sshKeys?ssh_key_id=SSH_KEY_ID" \
--data "{\"public_key\": \"$(cat SSH_KEY_ID.pub)\"}"
Reemplaza lo siguiente:
- PROJECT_ID: Es el ID de tu proyecto.
- SSH_KEY_ID: Es el nombre raíz de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
Para administrar las llaves SSH en tu proyecto, consulta Administra llaves SSH.
Conéctate al servidor
Antes de conectarte a la consola en serie interactiva, puedes validar la conexión de forma opcional con las llaves de host de la consola en serie para asegurarte de que estás protegido contra la suplantación de identidad o los ataques de intermediario.
Usa SSH para acceder a la consola en serie interactiva. Ejecuta el comando siguiente:
ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@\REGION\-ssh-serialport.googleapis.com
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
- PROJECT_ID: Es el ID de tu proyecto.
- REGION: Es la región de tu servidor.
- SERVER_NAME: Es 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 la tecla 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
ENTERoRETURN. - Escribe
~.(virgulilla, seguido de un punto).
Administra llaves SSH
Las llaves SSH se almacenan por proyecto. Puedes administrar tus llaves SSH de las siguientes maneras:
Mostrar llaves SSH
Puedes mostrar las llaves SSH públicas registradas en tu proyecto.
gcloud
Para mostrar las llaves SSH públicas, ejecuta el
gcloud bms ssh-keys list comando.
gcloud bms ssh-keys list --project=PROJECT_ID
Reemplaza lo siguiente:
- PROJECT_ID: Es el ID de tu proyecto.
API
Para mostrar 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: Es el ID de tu proyecto.
Borrar llaves SSH
Puedes borrar una llave SSH de la lista de llaves autorizadas para un proyecto.
gcloud
Para borrar una llave SSH pública, ejecuta el
gcloud bms ssh-keys remove comando.
gcloud bms ssh-keys remove SSH_KEY_ID --project=PROJECT_ID
Reemplaza lo siguiente:
- SSH_KEY_ID: Es el nombre raíz de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
- PROJECT_ID: Es el ID de tu proyecto.
API
Para borrar una llave SSH pública, ingresa el ID del proyecto y el ID de la llave SSH, y ejecuta 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: Es el ID de tu proyecto.
- SSH_KEY_ID: Es el nombre raíz de tu archivo de llaves SSH que se usa para generar las llaves públicas y privadas.
Inhabilita el acceso a la consola en serie interactiva
Usa las siguientes instrucciones para inhabilitar el acceso a la consola en serie interactiva en un servidor.
gcloud
Para inhabilitar la consola en serie interactiva, ejecuta el
gcloud bms instances disable-serial-console comando.
gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
Reemplaza lo siguiente:
- SERVER_NAME: Es el nombre de tu servidor.
- PROJECT_ID: Es el ID de tu 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: Es el ID de tu proyecto.
- REGION: Es la región de tu servidor.
- SERVER_NAME: Es el nombre de tu servidor.