Base de conhecimento

Entre quando a rede está fora

O console serial e VNC alcança a instância por um caminho que não depende da sua configuração de rede, que é precisamente quando você precisa dele.

O que é

Um túnel autenticado para a linha serial e o display virtual da instância. Está incluído em todos os planos, não atravessa a pilha de rede da sua instância e continua funcionando quando o sshd está morto, o firewall está errado, a rota padrão está ausente ou o sistema de arquivos raiz ficou somente leitura. As sessões são abertas a partir do painel. Cada uma é uma concessão de uso único, expira em minutos e exige o segundo fator da sua conta.

Verifique a linha serial antes de precisar

A maioria das nossas imagens já está correta. Confirme:

cat /proc/cmdline
systemctl status [email protected]

Você quer console=ttyS0,115200n8 na linha de comando e um getty em execução. No Debian, adicione console=tty0 console=ttyS0,115200n8 em GRUB_CMDLINE_LINUX dentro de /etc/default/grub, depois:

update-grub
systemctl enable --now [email protected]

O AlmaLinux 10 usa entradas de especificação do boot loader, então edite-as com grubby em vez de manualmente:

grubby --update-kernel=ALL --args="console=tty0 console=ttyS0,115200n8"
systemctl enable --now [email protected]

Obtendo um shell quando não há shell

No console, reinicie e interrompa o boot loader. O GRUB aparece por alguns segundos; pressione e na entrada desejada e edite a linha linux.

  • Serviços parados, rede fora, root montado: acrescente systemd.unit=rescue.target e pressione Ctrl-X.
  • Rescue falhando: systemd.unit=emergency.target.
  • Sem senha e sem chave: init=/bin/bash.
mount -o remount,rw /
passwd root
mount -o remount,ro /

Com init=/bin/bash não há init para desligar nada, então remonte como somente leitura e faça o power-cycle a partir do painel. Digitar reboot nesse prompt não faz nada útil.

O caso do firewall

Ficar trancado para fora com nftables é o motivo mais comum para uma sessão de console ser aberta. O caminho de volta:

nft list ruleset
nft flush ruleset
systemctl restart sshd

Um ruleset vazio significa nenhum filtro, então conserte o arquivo e carregue-o novamente na mesma sessão, em vez de deixá-lo para amanhã. Na próxima vez, carregue um novo ruleset atrás de um dead man’s switch:

systemd-run --on-active=120 nft flush ruleset
nft -f /etc/nftables.conf

O primeiro comando imprime a unidade temporária que criou. Se você ainda estiver conectado dois minutos depois, pare esse temporizador e mantenha as regras. Se não estiver, ele as desfaz sem você.

Lendo um boot que falhou

O console serial carrega todo o boot, então um panic ou uma montagem que falhou é algo que você lê, não algo que você deduz pelo silêncio. Depois de voltar, o boot anterior ainda está no journal:

journalctl -b -1 -p err

O que não é

Não é um sistema de rescue com um sistema de arquivos raiz próprio. Para isso, inicie a imagem de rescue a partir do painel: um pequeno ambiente live, seus discos desmontados e as ferramentas para repará-los.

Também não é um lugar para deixar uma sessão aberta. A concessão dura enquanto a sessão durar, então feche-a quando a máquina estiver consertada.

Pronto quando você estiver

Escolha uma cidade. Escolha um tamanho. Pague em cripto.

Sem formulários sobre quem você é, sem esperar aprovação de um humano, sem ligação para verificar nada. O pagamento é confirmado e as credenciais chegam na sua caixa de entrada.