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 sshdUn 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.confIl 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 errCosa 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.