Configurar la consola en serie interactiva

Solución Bare Metal proporciona una consola serie interactiva para acceder a tus servidores de Solución Bare Metal. Puedes ejecutar comandos directamente y responder a las peticiones en la consola serie. Puedes usar la consola de serie para realizar tareas de configuración y solución de problemas. Los servidores de Bare Metal Solution usan el primer puerto serie (puerto 1) como consola 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 versión de firmware superior.
  • Servidores con memoria optimizada con la versión de firmware 3.50.58 o una posterior.

Antes de empezar, asegúrate de actualizar el servidor al firmware más reciente. Consulta la sección Antes de empezar.

.

Las conexiones de consola en serie interactivas con más de 30 días de antigüedad se pueden desconectar de forma forzada.

En este documento se describe cómo habilitar e inhabilitar el acceso interactivo a la consola serie en tus servidores.

Antes de empezar

  1. Habilita la API de Solución Bare Metal. Consulta Configurar tu proyecto de Google Cloud para usar la API de Solución Bare Metal.

  2. Concede al usuario el rol de Gestión de Identidades y Accesos (IAM) adecuado. Para realizar todas las tareas de este documento, debes tener uno de los siguientes roles:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Comprueba que tengas la versión de firmware necesaria:

    • Para servidores de uso general, TS54 (43.45.00.002) o versiones posteriores.
    • En el caso de los servidores con memoria optimizada, 3.50.58 o una versión posterior.

    Sigue estos pasos:

    1. En tu servidor de Solución Bare Metal, ejecuta el siguiente comando:

      sudo dmidecode -s bios-version
      

      Si se ha completado correctamente, el resultado muestra la versión de BIOS necesaria 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 superior:

      Version: BIOS_PUR043.45.00.002
      
    2. Si la versión de la BIOS es inferior a la del firmware necesario, actualiza el firmware de tus servidores. Ponte en contacto con el servicio de atención al cliente para obtener ayuda con la actualización.

  4. Si tu servidor de Solución Bare Metal se aprovisionó antes de junio del 2022, es posible que los parámetros de arranque del kernel no tengan la configuración necesaria para la consola serie interactiva. Por el contrario, si se aprovisionó después de junio del 2022, es posible que la configuración necesaria ya esté integrada en la imagen de tu SO. Sin embargo, es posible que los 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 necesaria para la consola serie interactiva.

    Para asegurarte de que tu sistema operativo tiene la configuración necesaria para la consola serie interactiva, sigue estos pasos:

    1. Busca el archivo de configuración de GRand Unified Bootloader (GRUB) en el directorio /etc/default.
    2. Verifica que el archivo de configuración de GRUB contenga los siguientes ajustes:

      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 ajustes, sáltate el resto de las instrucciones. Puedes usar el archivo de configuración de GRUB para acceder a la consola serie.

    3. Si el archivo de configuración de GRUB no tiene estos ajustes, añádelos manualmente.

    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.

Habilitar el acceso a la consola en serie interactiva

Para habilitar y acceder a la consola en serie interactiva, 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.

Habilitar 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

Haz los cambios siguientes:

  • SERVER_NAME: nombre del servidor.
  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.

API

Para habilitar el acceso a la consola serie interactiva, introduce el ID de tu 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"

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.
  • SERVER_NAME: nombre del servidor.

Generar un par de claves SSH

Genera un par de claves SSH para autenticar tu acceso a la consola en serie. Solo es necesario hacerlo una vez por proyecto.

Ejecuta el comando ssh-keygen desde una instancia de VM de host de salto u otro terminal conectado a Internet para crear un nuevo par de claves SSH.

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

Haz los cambios siguientes:

  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.
  • PASSPHRASE: Contraseña que se usará al acceder a tus servidores a través de la consola 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.

Registrar las claves SSH

Para autenticar tu acceso a la consola serie, registra las claves SSH en tu proyecto. Solo debe hacerlo una vez por cada 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

Haz los cambios siguientes:

  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.
  • SERVER_NAME: nombre del servidor.

API

Para registrar tus claves SSH, introduce el ID de tu 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)\"}"

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.

Para gestionar las claves SSH de tu proyecto, consulta Gestionar claves SSH.

Conectarse al servidor

Antes de conectarte a la consola en serie interactiva, puedes validar la conexión mediante las claves de host de la consola en serie para asegurarte de que estás protegido frente a ataques de suplantación de identidad o de intermediario.

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@\REGION\-ssh-serialport.googleapis.com
  

Haz los cambios siguientes:

  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.
  • SERVER_NAME: nombre del servidor.
  • USERNAME: nombre de usuario que usas para acceder al servidor de Bare Metal Solution a través de la consola serie.

Cuando se te pida, introduce la contraseña de la clave SSH que configuraste anteriormente. Si es necesario, pulsa la tecla Enter o Return para acceder a la consola en serie interactiva.

Desconectarse de la consola en serie interactiva

Para desconectarte de la consola serie, sigue estos pasos:

  1. Pulsa la tecla ENTER o RETURN.
  2. Escribe ~. (tilde seguida de un punto).

En SAP HANA en Bare Metal Solution, usa CTRL + ] q para desconectarte de la consola de serie interactiva.

Gestionar claves SSH

Las claves SSH se almacenan por proyecto. Puedes gestionar tus claves SSH de las siguientes formas:

Mostrar claves SSH

Puedes consultar las claves SSH públicas registradas en tu proyecto.

gcloud

Para enumerar las claves SSH públicas, ejecuta el comando gcloud bms ssh-keys list.

gcloud bms ssh-keys list --project=PROJECT_ID

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.

API

Para ver una lista de las claves SSH públicas, introduce el ID de tu 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"

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.

Eliminar claves SSH

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

gcloud

Para eliminar una clave pública SSH, ejecuta el comando gcloud bms ssh-keys remove.

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

Haz los cambios siguientes:

  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.
  • PROJECT_ID: tu ID de proyecto.

API

Para eliminar una clave pública SSH, introduce 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"

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • SSH_KEY_ID: nombre raíz del archivo de clave SSH que se usa para generar las claves pública y privada.

Inhabilitar el acceso a la consola en serie interactiva

Sigue estas instrucciones para inhabilitar el acceso a la consola en serie interactiva 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

Haz los cambios siguientes:

  • SERVER_NAME: nombre del servidor.
  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.

API

Para inhabilitar la consola serie interactiva, introduce el ID de tu 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"

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • REGION: región de tu servidor.
  • SERVER_NAME: nombre del servidor.