Configura la consola en serie interactiva

La solución Bare Metal proporciona una consola serial interactiva para acceder a tus servidores de la solución Bare Metal. Puedes ejecutar comandos directamente y responder a las solicitudes en la consola serial. 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 la versión de firmware TS54 (43.45.00.002) o una superior
  • Servidores con optimización de memoria y versión de firmware 3.50.58 o posterior

Antes de comenzar, asegúrate de actualizar el servidor al firmware más reciente. Consulta Antes de comenzar.

Las conexiones interactivas a la consola en serie con más de 30 días de antigüedad podrían desconectarse de forma forzada.

En este documento, se describe cómo habilitar y, luego, inhabilitar el acceso a la consola en serie interactiva en tus servidores.

Antes de comenzar

  1. Habilita la API de Bare Metal Solution. Consulta Configura tu proyecto de Google Cloud para usar la API de solución Bare Metal.

  2. Otorga al usuario el rol de Identity and Access Management (IAM) adecuado. Para realizar todas las tareas de este documento, debes tener uno de los siguientes roles:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Verifica que tengas la versión requerida del firmware:

    • Para servidores de uso general, TS54 (43.45.00.002) o superior.
    • Para los servidores con optimización de memoria, 3.50.58 o una versión posterior

    Lleva a cabo los pasos siguientes:

    1. 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 43.45.00.002 o posterior:

      Version: BIOS_PUR043.45.00.002
      
    2. Si la versión del BIOS es anterior al firmware requerido, actualiza el firmware de tus servidores. Comunícate con el equipo de atención al cliente para obtener ayuda con la actualización.

  4. 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 la imagen de SO. Sin embargo, es posible 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 predeterminados del kernel. 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 serie interactiva, sigue estos pasos:

    1. Ubica el archivo de configuración del cargador de arranque unificado GRand (GRUB) en el directorio /etc/default.
    2. 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 serial.

    3. Si el archivo de configuración de GRUB no tiene estos parámetros, agrégalos de forma manual.

    4. Ejecuta el comando grub-mkconfig para procesar los cambios. Para obtener más información, consulta la documentación de GRUB.

    5. Reinicia el servidor.

Habilita el acceso interactivo a la consola en serie

Para habilitar la consola en serie interactiva y acceder a ella, sigue estos pasos:

  1. Habilita el acceso a la consola en serie interactiva.
  2. Genera una clave SSH.
  3. Registra la clave SSH.
  4. 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: Es 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: Es 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 solo debe hacerse 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 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 clave SSH que se usa para generar las claves pública y privada.
  • 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 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 solo se debe hacer una vez por par de claves.

gcloud

Para registrar tus claves 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 clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: ID del proyecto
  • REGION: Es la región de tu servidor.
  • SERVER_NAME: Es el nombre de tu servidor.

API

Para registrar tus claves SSH, ingresa el ID del proyecto, el ID de la clave SSH y el nombre de archivo de la clave 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: ID del proyecto
  • SSH_KEY_ID: Es el nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.

Para administrar las claves SSH de tu proyecto, consulta Administra claves SSH.

Conéctate al servidor

Antes de conectarte a la consola en serie interactiva, puedes validar la conexión con las claves de host de la consola en serie para asegurarte de que estás protegido contra el robo de identidad o los ataques de intermediarios.

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 del archivo de clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: ID del proyecto
  • REGION: Es la región de tu servidor.
  • SERVER_NAME: Es el nombre de tu servidor.
  • USERNAME: 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 clave SSH que configuraste antes. Según sea necesario, presiona la tecla Enter o Return para acceder a la consola en serie interactiva.

Desconéctate de la consola en serie interactiva

Para desconectarte de la consola en serie, sigue estos pasos:

  1. Presiona la tecla ENTER o RETURN.
  2. Escribe ~. (virgulilla, seguido de un punto).

Administrar Llaves SSH

Las claves SSH se almacenan por proyecto. Puedes administrar tus claves SSH de las siguientes maneras:

Enumera las 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 claves SSH públicas, ingresa el ID de tu proyecto y emite 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

Borra claves SSH

Puedes borrar una clave SSH de la lista de claves autorizadas para un proyecto.

gcloud

Para borrar una clave 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 clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: ID del proyecto

API

Para borrar una clave SSH pública, ingresa el ID del proyecto y el ID de la clave 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: ID del proyecto
  • SSH_KEY_ID: Es el nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.

Inhabilita el acceso interactivo a la consola en serie

Sigue estas 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: Es 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: Es el nombre de tu servidor.