1

РЕДАКТИРОВАТЬ

Читайте ответ Яноша ниже.

Больше использовать SSH-ключи для прямого доступа к руту.


Я хочу защитить SSH доступ к моему серверу. Одна вещь, которую я читаю повсюду, это отключение входа пользователя root

Чтобы по-прежнему иметь доступ через SSH, я создал другого пользователя через sudo adduser john

Как я могу все еще делать рутинные вещи с этим аккаунтом?

sudo command запрашивает пароль пользователя, но выдает john not in sudoer file. Action will be reported . Когда я использую su я вхожу в систему как root, который я собираюсь отключить.

Как я могу по-прежнему делать root вещи с обычным аккаунтом john?

4 ответа4

2

Вы должны отредактировать /etc/sudoers с помощью команды visudo и добавить строку для пользователя john .

Возможно, вы захотите добавить строку, как john ALL=(ALL) ALL . Затем вы можете выполнять команды, используя sudo (работающий от имени john) и, при желании, отключить пользователя root или, по крайней мере, использовать для него очень надежный пароль - это мой выбор.

Кроме того, в большинстве версий SSH по умолчанию должен быть отключен вход в систему; это означает, что вы не можете войти в систему как пользователь root через SSH, но вы можете войти в систему как пользователь, а затем стать пользователем root с помощью su . Если есть сомнения, проверьте оператор PermitRootLogin в /etc/ssh/sshd_config . Из справочной страницы:

   PermitRootLogin
          Specifies whether root can log in using  ssh(1).   The  argument  must  be
          ``yes'',  ``without-password'',  ``forced-commands-only'', or ``no''.  The
          default is ``yes''.
1

Стоит отметить, что разрешение входа в систему root с помощью ssh менее небезопасно, чем практика использования su root . Этот пост в списке рассылки Debian Саймона Кирби очень хорошо объясняет это:

http://lists.debian.org/debian-security/2002/06/msg00418.html

Разрешение входа в систему root только с помощью ключей ssh может быть более безопасным, чем практика sudo , но я не эксперт. Для чего это стоит, настройка для этого:

PermitRootLogin without-password
1
  • Если вы уже вошли в систему как root, использовать sudo бессмысленно.

  • Чтобы позволить john получить привилегии root, достаточно выполнить

    usermod john -G admin
    

    в установке по умолчанию в Ubuntu, поскольку он добавляет john к группе admin (подразумевает права root).

    Для других дистрибутивов вы можете обратиться к /etc/sudoers для группы с этой привилегией.

  • Отключение root - это хорошо, но пользователь с привилегиями root может делать все, что захочет.

    Не вход в систему как root имеет преимущества, только если вы делаете это по одной из следующих причин:

    • Предотвращение случайных изменений в вашей системе (rm -rf / , вредоносных программ и т.д.).

      sudo su позволяет вам стать пользователем root после входа в систему как пользователь с привилегиями root.

    • Для аутентификации вы используете что-то другое, кроме пароля пользователя (например, закрытые ключи).

      В этом случае команде sudo прежнему требуется пароль пользователя, поэтому она добавляет дополнительный уровень безопасности (необслуживаемый ноутбук и т.д.).

0

Отключить root-вход через ssh - это умно. Но нет никаких причин, чтобы не получить права root после входа в систему. Убедитесь, что обе учетные записи имеют надежные пароли, и установите fail2ban для предотвращения лесных пожаров - извините, попытки взлома.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .