Что это
Аутентифицированный туннель к последовательной линии и виртуальному дисплею инстанса. Он включён в каждый тариф, не проходит через сетевой стек вашего инстанса и продолжает работать, когда sshd мертв, файрвол неправильный, маршрут по умолчанию отсутствует или корневая файловая система перешла в режим только для чтения. Сессии открываются из панели управления. Каждая из них — одноразовый доступ, истекает через несколько минут и требует второго фактора на вашем аккаунте.
Проверьте последовательную линию до того, как она понадобится
Большинство наших образов уже настроены правильно. Проверьте:
cat /proc/cmdline
systemctl status [email protected]Вам нужен console=ttyS0,115200n8 в командной строке и запущенный getty. На Debian добавьте console=tty0 console=ttyS0,115200n8 в GRUB_CMDLINE_LINUX в /etc/default/grub, затем:
update-grub
systemctl enable --now [email protected]В AlmaLinux 10 используются записи спецификации загрузчика, поэтому редактируйте их с помощью grubby, а не вручную:
grubby --update-kernel=ALL --args="console=tty0 console=ttyS0,115200n8"
systemctl enable --now [email protected]Как получить shell, когда shell недоступен
Из консоли перезагрузите систему и прервите загрузчик. GRUB показывается несколько секунд; нажмите e на нужной записи и отредактируйте строку linux.
- Службы остановлены, сеть недоступна, корень смонтирован: добавьте
systemd.unit=rescue.target, затем Ctrl-X. - Если сам rescue не работает:
systemd.unit=emergency.target. - Нет пароля и нет ключа:
init=/bin/bash.
mount -o remount,rw /
passwd root
mount -o remount,ro /С init=/bin/bash нет init, который можно остановить, поэтому перемонтируйте в режим только для чтения и перезагрузите из панели. Ввод reboot в этом приглашении не даст полезного результата.
Случай с файрволом
Блокировка себя с помощью nftables — самая частая причина, по которой открывается консольная сессия. Путь назад:
nft list ruleset
nft flush ruleset
systemctl restart sshdПустой набор правил означает отсутствие фильтрации вообще, поэтому исправьте файл и загрузите его снова в тот же сеанс, а не откладывайте на завтра. В следующий раз загружайте новый набор правил с защитным механизмом:
systemd-run --on-active=120 nft flush ruleset
nft -f /etc/nftables.confПервая команда выводит созданный временный юнит. Если через две минуты вы всё ещё подключены, остановите этот таймер и сохраните правила. Если нет, он отменит их без вас.
Чтение неудачной загрузки
Последовательная консоль передаёт всю загрузку, поэтому панику или неудачное монтирование вы читаете, а не предполагаете по тишине. Как только вы вернулись, предыдущая загрузка всё ещё в журнале:
journalctl -b -1 -p errЧем это не является
Это не спасательная система с собственной корневой файловой системой. Для этого загрузите rescue-образ из панели: небольшая live-среда, ваши диски не смонтированы и есть инструменты для их восстановления.
Это также не место, где можно оставить сессию открытой. Разрешение действует столько же, сколько длится сессия, поэтому закрывайте его, когда машина исправлена.