Base di conoscenza

Accedi quando la rete è giù

La console seriale e VNC raggiunge l'istanza attraverso un percorso che non dipende dalla tua configurazione di rete, che è esattamente quando ti serve.

Cos'è

Un tunnel autenticato alla linea seriale e al display virtuale dell'istanza. È incluso in ogni piano, non attraversa lo stack di rete dell'istanza e continua a funzionare quando sshd è morto, il firewall è sbagliato, la route predefinita manca o il filesystem root è diventato di sola lettura. Le sessioni vengono aperte dal pannello. Ognuna è una concessione monouso, scade in minuti e richiede il secondo fattore sul tuo account.

Controlla la linea seriale prima di averne bisogno

La maggior parte delle nostre immagini è già corretta. Verifica:

cat /proc/cmdline
systemctl status [email protected]

Vuoi console=ttyS0,115200n8 sulla riga di comando e un getty in esecuzione. Su Debian, aggiungi console=tty0 console=ttyS0,115200n8 a GRUB_CMDLINE_LINUX in /etc/default/grub, quindi:

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

AlmaLinux 10 utilizza le voci della specifica del boot loader, quindi modificale con grubby piuttosto che a mano:

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

Ottenere una shell quando non c'è shell

Dalla console, riavvia e interrompi il boot loader. GRUB appare per un paio di secondi; premi e sulla voce che desideri e modifica la riga linux.

  • Servizi fermati, rete giù, root montato: aggiungi systemd.unit=rescue.target, quindi Ctrl-X.
  • Il rescue stesso fallisce: systemd.unit=emergency.target.
  • Nessuna password e nessuna chiave: init=/bin/bash.
mount -o remount,rw /
passwd root
mount -o remount,ro /

Con init=/bin/bash non c'è init a spegnere nulla, quindi rimonta in sola lettura e fai un ciclo di alimentazione dal pannello. Digitare reboot a quel prompt non serve a nulla.

Il caso del firewall

Bloccarsi fuori con nftables è il motivo più comune per cui viene aperta una sessione console. La via del ritorno:

nft list ruleset
nft flush ruleset
systemctl restart sshd

Un ruleset vuoto significa nessun filtraggio, quindi ripara il file e ricaricalo nella stessa seduta piuttosto che lasciarlo a domani. La prossima volta, carica un nuovo ruleset dietro un interruttore di sicurezza:

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

Il primo comando stampa l'unità transitoria che ha creato. Se sei ancora connesso dopo due minuti, ferma quel timer e tieni le regole. Se non lo sei, le annulla senza di te.

Leggere un avvio fallito

La console seriale trasporta l'intero avvio, quindi un panic o un mount fallito è qualcosa che leggi piuttosto che qualcosa che deduci dal silenzio. Una volta rientrato, l'avvio precedente è ancora nel journal:

journalctl -b -1 -p err

Cosa non è

Non è un sistema di rescue con un proprio filesystem root. Per quello, avvia l'immagine di rescue dal pannello: un piccolo ambiente live, i tuoi dischi smontati e gli strumenti per ripararli.

Inoltre non è un posto dove lasciare una sessione aperta. La concessione dura quanto la sessione, quindi chiudila quando la macchina è riparata.

Pronto quando lo sei

Scegli una città. Scegli una dimensione. Paga in criptovaluta.

Nessun modulo su chi sei, nessuna attesa per l'approvazione di una persona, nessuna chiamata per verificare nulla. La fattura viene saldata e le credenziali arrivano nella tua casella di posta.