Установка и изменение пароля на заблокированном сервере FreeBSD

Published by Leave your thoughts

Как правило, для входа на сервер FreeBSD используются ключи SSH. Конечно, аутентификация на основе SSH имеет ряд преимуществ безопасности по сравнению с аутентификацией на основе пароля; однако при этом вполне могут возникнуть обстоятельства, в которых вы случайно заблокируете себя на собственном сервере. В таких случаях необходимо установить пароль, чтобы вернуть доступ к серверу. Это можно сделать через консоль.

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

Основные действия

При использовании SSH-ключей для аутентификации сервер не защищён паролем.

Однако в некоторых ситуациях пароль может пригодиться. Например, если SSH-ключ был утерян или сбились внутренние сетевые настройки, вы не сможете аутентифицироваться при помощи ключей.

Чтобы восстановить доступ к серверу, рекомендуется обратиться к консоли управления сервером, при помощи которой можно создать пароль (опции Reset Root Password, Access или другой похожий вариант, предложенный консолью).

Большинство операционных систем генерирует пароль и отправляет его пользователю на электронный ящик. Однако такая функция недоступна в системе FreeBSD.

Чтобы установить или переустановить пароль в FreeBSD, нужно перезапустить сервер при помощи панели управления. Затем нужно открыть веб-консоль, чтобы загрузить сервер в однопользовательском режиме. Здесь можно смонтировать файловую систему и установить пароль для учётной записи пользователя.

1: Отключите сервер

Для начала нужно остановить сервер. На данном этапе проблема состоит в том, что у вас, скорее всего, нет доступа к командной строке.

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

sudo shutdown -p now

Если доступа нет (как бывает в большинстве случаев), откройте панель управления и нажмите кнопку вроде Power Off (или другую аналогичную кнопку).

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

2: Перейдите в однопользовательский режим

Как правило, хостинг-провайдеры предоставляют пользователям веб-консоль, эмулирующую физическое подключение к серверу.

Она позволяет восстановить доступ к серверу даже в случае, если сбились настройки сети.

Еще одним преимуществом виртуальной консоли является меню загрузки. Воспользовавшись этим меню, вы можете загрузить сервер в однопользовательском режиме.

Однопользовательский режим – это особый административный режим, который можно получить только при физическом подключении к серверу. Он позволяет пользователю root войти без пароля. Внешние сети, второстепенные сервисы, а также дополнительные логины отключаются. Поскольку веб-консоль эмулирует физическое соединение, она позволяет загрузиться в однопользовательском режиме.

Следующие действия нужно выполнить быстро:

  • Включите сервер при помощи консоли.
  • Нажмите Console Access, чтобы получить доступ к виртуальной консоли.
  • Выберите single-user mode (однопользовательский режим) в меню загрузки.

Эти действия следует выполнить в течение нескольких секунд.

3: Перемонтируйте файловую систему

На экране появится сообщение о том, что система пытается смонтировать файловую систему root. Нажмите Enter в командной строке, чтобы запустить сессию оболочки.

Теперь у вас есть ограниченный доступ к окружению. Тем не менее, файловая система, которая содержит информацию о пароле, доступна только для чтения, а это означает, что вы не можете изменить или установить пароль.

Перемонтируйте файловую систему root в режим read/write:

mount -u /

После этого у вас появится доступ к базе паролей системы.

Примечание: Если эта команда завершается ошибкой с сообщением «Filesystem is not clean», значит, работа сервера была завершена некорректно. Перейдите к разделу «Устранение неполадок».

Если команда была выполнена успешно, можно перемонтировать файловую систему и получить синхронный доступ:

mount -a

После этого можно попробовать установить или переустановить пароль.

4: Установите пароль

Итак, файловая система подготовлена. Измените пароль пользователя при помощи команды passwd.

Чтобы установить/переустановить пароль стандартного пользователя freebsd, наберите:

passwd freebsd

Система предложит выбрать и подтвердить новый пароль. У стандартного пользователя по умолчанию есть доступ к sudo, потому достаточно изменить только его пароль.

Если вы хотите изменить пароль пользователя root, введите:

passwd

После этого нужно выбрать и подтвердить новый пароль.

Получив пароль, можете выйти из однопользовательского окружения:

exit

FreeBSD выйдет из однопользовательского режима и выполнит обычную загрузку сервера. Теперь вы можете войти при помощи пароля или SSH (если аутентификация на основе пароля разрешена для сессий SSH).

Если во время выполнения руководства у вас возникли какие-либо ошибки, читайте следующий раздел.

5: Устранение неполадок

Иногда при отключении сервера через панель управления эта процедура проходит некорректно. Это может произойти по разным причинам, чаще всего из-за внутренних условий самого сервера.

В таком случае будет применено «жёсткое» отключение сервера, что может привести к противоречиям на дисках и запретить монтирование файловой системы.

Если при монтировании файловой системы вы столкнулись с ошибкой:

Operation not permitted

Нужно запустить команду fsck для того, чтобы исправить файловую систему.

Примечание: Запуск команды fsck иногда может привести к повреждению данных на активных дисках. По этой причине рекомендуется запускать fsck на демонтированной файловой системе, чтобы минимизировать риск. Проблемы всё-таки могут возникнуть в ситуациях, когда значительный объем данных записывался на диск в момент отключения питания.

Чтобы исправить несовместимость, попробуйте автоматически исправить ошибки:

fsck

Команда запустит проверку файловой системы; при этом может потребоваться подтверждение операции (для этого введите y).

После этого файловая система будет очищена от ошибок и помечена как clean.

Далее нужно выполнить следующие действия.

Смонтируйте файловую систему:

mount -u /
mount -a

Установите пароль для требуемого пользователя:

# для пользователя freebsd:
passwd freebsd
# для пользователя root:
passwd

Закройте однопользовательское окружение:

exit

Выполните загрузку сервера в обычном режиме.

Tags: ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>