Сброс пароля root для виртуальной машины Ubuntu в Proxmox: инструкция

Если вы столкнулись с ситуацией, когда пароль root на виртуальной машине Ubuntu внутри Proxmox утерян или забыт, не спешите паниковать. Хотя стандартные методы вроде загрузки с live ISO или правки GRUB работают, в среде Proxmox есть более элегантные способы – особенно если у вас есть доступ к хостовому узлу. Расскажу, как это сделать без лишних сложностей.

Сброс пароля для контейнеров (LXC)

Контейнеры в Proxmox – это легковесные среды, и здесь всё максимально просто. Предположим, вы уже знаете ID вашего контейнера (его можно посмотреть в веб-интерфейсе Proxmox слева в дереве ресурсов).

1. Подключитесь к контейнеру напрямую через терминал Proxmox:

pct enter ID

(замените ID на актуальный номер, например, 101).

2. Убедитесь, что вы вошли как root:

whoami

Если вывод команды – root, переходите к следующему шагу. Если нет, добавьте sudo -i перед командой.

3. Сбросьте пароль:

passwd

Введите новый пароль дважды – готово! Контейнер даже не нужно перезагружать.

Кстати, если вдруг команда pct enter не сработала, проверьте, запущен ли контейнер (статус «running» в интерфейсе).

Сброс пароля для полноценных виртуальных машин (KVM)

С VM ситуация чуть сложнее, так как здесь требуется доступ к консоли. Но и это решаемо через терминал Proxmox.

1. Остановите виртуальную машину: Либо через веб-интерфейс (кнопка «Stop»), либо командой:

qm stop <VM_ID>

2. Настройте serial port: Перед запуском VM выполните:

qm set <VM_ID> -serial0 socket

Эта команда создаёт виртуальный последовательный порт, через который можно подключиться к консоли.

3. Запустите VM и подключитесь:

qm start <VM_ID>
qm terminal <VM_ID>

После этого вы увидите консоль машины. Нажмите Enter, чтобы активировать её, и войдите в GRUB:

  • При загрузке Ubuntu удерживайте Shift (для BIOS) или нажимайте Esc (для UEFI).
  • Выберите строку с ядром, нажмите e для редактирования.

4. Измените параметры загрузки: Найдите строку, начинающуюся с linux /boot/vmlinuz..., и в конце добавьте:

init=/bin/bash

Нажмите Ctrl+X или F10 для загрузки.

5. Сбросьте пароль: После загрузки в режиме single-user выполните:

mount -o remount,rw /  
passwd  
sync  
reboot -f

Важный нюанс: если после перезагрузки параметры GRUB сбросились (а так и будет), не забудьте убрать -serial0 socket командой qm set <VM_ID> -delete serial0, чтобы избежать конфликтов в будущем.

Почему это работает? Настройка serial порта позволяет «поймать» момент загрузки VM и вмешаться в процесс до полного старта системы – идеально для сброса пароля.

Если что-то пошло не так (например, консоль не отвечает), проверьте:

  • Правильно ли указан ID виртуальной машины;
  • Не блокирует ли брандмауэр Proxmox соединение;
  • Поддерживает ли гостевая ОС работу с serial port (для Ubuntu – да).
Новое
Интересное