Configurar o console serial interativo

A Solução Bare Metal oferece um console serial interativo para acessar os servidores da Solução Bare Metal. É possível executar comandos e responder a prompts diretamente no console serial. Use o console serial para realizar tarefas de configuração e solução de problemas. Os servidores da Solução Bare Metal usam a primeira porta serial (porta 1) como o console serial.

O console serial interativo é compatível apenas com os seguintes servidores:

  • Servidores de uso geral com TS54 (43.45.00.002) ou versão de firmware mais recente.
  • Servidores com otimização de memória com versão de firmware 3.50.58 ou superior.

Atualize seu servidor para o firmware mais recente antes de começar. Consulte Antes de começar.

As conexões interativas do console serial com mais de 30 dias podem ser desconectadas à força.

Neste documento, descrevemos como ativar e desativar o acesso interativo ao console serial nos seus servidores.

Antes de começar

  1. Ative a API Bare Metal. Consulte Configurar seu projeto do Google Cloud para usar a API da Solução Bare Metal.

  2. Conceder o papel apropriado do Identity and Access Management (IAM) ao usuário. Para executar todas as tarefas neste documento, é necessário ter um dos seguintes papéis:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. Verifique se você tem a versão necessária do firmware:

    • Para servidores de uso geral, TS54 (43.45.00.002) ou mais recente.
    • Para servidores com otimização de memória, 3.50.58 ou mais recente.

    Siga estas etapas:

    1. No servidor da Solução Bare Metal, execute o seguinte comando:

      sudo dmidecode -s bios-version
      

      Se bem-sucedida, a saída vai mostrar a versão necessária do BIOS ou mais recente. Por exemplo, no caso de um servidor de uso geral, a saída mostra uma versão do BIOS de 43.45.00.002 ou mais recente:

      Version: BIOS_PUR043.45.00.002
      
    2. Se a versão do BIOS for anterior ao firmware necessário, faça upgrade do firmware dos servidores. Entre em contato com o Atendimento ao cliente para receber ajuda com o upgrade.

  4. Se o servidor da Solução Bare Metal tiver sido provisionado antes de junho de 2022, os parâmetros de inicialização do kernel podem não ter a configuração necessária para o console serial interativo. Por outro lado, se tiver sido provisionada depois de junho de 2022, a configuração necessária talvez já esteja integrada à imagem do SO. No entanto, é possível que o patch do SO ou a aplicação de políticas específicas da empresa tenha alterado os parâmetros padrão de inicialização do kernel. De qualquer forma, recomendamos que você verifique a disponibilidade da configuração do SO necessária para o console serial interativo.

    Para garantir que seu SO tenha a configuração necessária para o console serial interativo, siga estas etapas:

    1. Localize o arquivo de configuração do GRand Unified Bootloader (GRUB, na sigla em inglês) no diretório /etc/default.
    2. Verifique se o arquivo de configuração do GRUB contém as seguintes configurações:

      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"
      

      Caso o arquivo contenha essas configurações, pule as instruções restantes. É possível usar seu arquivo de configuração GRUB para acessar o console serial.

    3. Se o arquivo de configuração do GRUB não tiver essas configurações, adicione-as manualmente.

    4. Execute o comando grub-mkconfig para processar as alterações. Para saber mais, consulte a documentação GRUB.

    5. Reinicie o servidor.

Ativar o acesso ao console serial interativo

Para ativar e acessar o console serial interativo, siga estas etapas:

  1. Ative o acesso ao console serial interativo.
  2. Gere uma chave SSH.
  3. Registre a chave SSH.
  4. Conecte-se ao servidor.

Ativar o acesso ao console serial interativo

Antes de usar o console serial interativo, ative o acesso a ele no servidor.

gcloud

Para ativar o acesso ao console serial interativo, execute o comando gcloud bms instances enable-serial-console.

gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

Substitua:

  • SERVER_NAME: nome do servidor.
  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.

API

Para permitir o acesso ao console serial interativo, insira o ID do projeto, a região e o nome do servidor e emita o seguinte 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"

Substitua:

  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.
  • SERVER_NAME: nome do servidor.

Gerar um par de chaves SSH

Gere um par de chaves SSH para autenticar seu acesso ao console serial. Isso precisa ser feito apenas uma vez por projeto.

Execute o comando ssh-keygen em uma instância de VM do host de salto ou outro terminal conectado à Internet para criar um novo par de chaves SSH.

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

Substitua:

  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.
  • PASSPHRASE: senha longa a ser usada ao acessar os servidores pelo console serial.

O comando ssh-keygen salva sua chave privada em um arquivo chamado SSH_KEY_ID e sua chave pública em um arquivo chamado SSH_KEY_ID.pub no seu diretório inicial.

Registrar as chaves SSH

Para autenticar seu acesso ao console serial, registre as chaves SSH no seu projeto. Isso precisa ser feito apenas uma vez por par de chaves.

gcloud

Para registrar as chaves SSH, execute o comando gcloud bms ssh-keys add.

gcloud bms ssh-keys add SSH_KEY_ID --project=PROJECT_ID --key-file=SSH_KEY_ID.pub

Substitua:

  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.
  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.
  • SERVER_NAME: nome do servidor.

API

Para registrar as chaves SSH, insira o ID do projeto, o ID da chave SSH e o nome de arquivo da chave pública e emita o seguinte 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)\"}"

Substitua:

  • PROJECT_ID: o ID do projeto.
  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.

Para gerenciar as chaves SSH no seu projeto, consulte Gerenciar chaves SSH.

Conexão com o servidor

Use o SSH para acessar o console serial interativo. Execute este comando:

  ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@ssh-serialport.googleapis.com
  

Substitua:

  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.
  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.
  • SERVER_NAME: nome do servidor.
  • USERNAME: nome de usuário usado para acessar o servidor da Solução Bare Metal usando o console serial.

Quando solicitado, digite a senha longa da chave SSH que você configurou anteriormente. Se necessário, pressione a tecla Enter ou Return para ter acesso ao console serial interativo.

Desconectar do console serial interativo

Para se desconectar do console serial, siga estas etapas:

  1. Pressione a tecla ENTER ou RETURN.
  2. Digite ~. (til seguido de um ponto).

Para o SAP HANA na Solução Bare Metal, use CTRL + ] q para se desconectar do console serial interativo.

Gerenciar chaves SSH

As chaves SSH são armazenadas por projeto. É possível gerenciar as chaves SSH das seguintes maneiras:

Listar chaves SSH

Liste as chaves SSH públicas registradas no seu projeto.

gcloud

Para listar as chaves SSH públicas, execute o comando gcloud bms ssh-keys list.

gcloud bms ssh-keys list --project=PROJECT_ID

Substitua:

  • PROJECT_ID: o ID do projeto.

API

Para listar as chaves SSH públicas, insira o ID do projeto e emita o seguinte 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"

Substitua:

  • PROJECT_ID: o ID do projeto.

Excluir chaves SSH

É possível excluir uma chave SSH da lista de chaves autorizadas de um projeto.

gcloud

Para excluir uma chave SSH pública, execute o comando gcloud bms ssh-keys remove.

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

Substitua:

  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.
  • PROJECT_ID: o ID do projeto.

API

Para excluir uma chave SSH pública, insira os IDs do projeto e da chave SSH e emita o seguinte 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"

Substitua:

  • PROJECT_ID: o ID do projeto.
  • SSH_KEY_ID: nome raiz do arquivo de chave SSH usado para gerar as chaves pública e privada.

Desativar o acesso ao console serial interativo

Use as instruções a seguir para desativar o acesso ao console serial interativo em um servidor.

gcloud

Para desativar o console serial interativo, execute o comando gcloud bms instances disable-serial-console.

gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

Substitua:

  • SERVER_NAME: nome do servidor.
  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.

API

Para desativar o console serial interativo, insira o ID do projeto, a região e o nome do servidor e emita o seguinte 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"

Substitua:

  • PROJECT_ID: o ID do projeto.
  • REGION: a região do servidor.
  • SERVER_NAME: nome do servidor.