После создания сервера Debian 10 необходимо выполнить его начальную настройку. Этот ряд процедур повысит защиту и юзабилити нового сервера, а также обеспечит надёжную платформу для дальнейшей работы.
1: Логин root
Читайте также: SSH-подключение к серверу
Чтобы подключиться к серверу, вам понадобится его внешний IP-адрес. Кроме того, нужно знать пароль или иметь закрытый ключ (если используется аутентификация на основе SSH-ключей) администратора – пользователя root.
Если вы еще не подключились к вашему серверу, сделайте это сейчас. Чтобы войти как пользователь root, введите команду:
ssh root@your_server_ip
Сейчас может появиться предупреждение о подлинности хоста; примите его и предоставьте учётные root. Если вы используете SSH-ключи, защищенные парольной фразой, вам нужно будет ввести и эту фразу. При первом подключении к серверу вам также будет предложено изменить root-пароль.
Что такое root?
Пользователь root является администратором среды Linux и обладает максимальными привилегиями. Именно поэтому использовать аккаунт root для рутинной работы крайне небезопасно – так можно случайно нанести системе непоправимый ущерб.
Потому для постоянной работы в окружении Linux принято использовать специально созданный аккаунт с расширенными привилегиями – с доступом к команде sudo, о чем речь пойдет далее в этом руководстве.
2: Создание нового пользователя
Войдя в систему как root, создайте новый аккаунт для постоянной работы с сервером.
Чтобы создать нового пользователя по имени 8host, введите:
adduser 8host
Примечание: Замените условное имя 8host именем своего пользователя.
После запуска команды вам будет предложено ввести информацию о пользователе.
Установите надёжный пароль и при желании укажите дополнительную информацию. Чтобы принять данные по умолчанию, просто нажмите Enter.
3: Доступ к sudo
Итак, теперь у вас есть новый пользователь с обычными привилегиями. Однако для управления сервером таких прав недостаточно.
Чтобы иметь возможность выполнять задачи администратора в сессии нового пользователя, передайте ему права суперпользователя. Для этого нужно открыть ему доступ к команде sudo.
В Debian 10 доступ к этой команде есть по умолчанию у всех, кто входит в группу sudo. Чтобы добавить нового пользователя в эту группу, запустите следующую команду в сессии пользователя root:
usermod -aG sudo 8host
Теперь новый пользователь имеет права суперпользователя и может выполнять задачи администратора.
4: Настройка брандмауэра
Серверы Debian могут использовать брандмауэр для блокировки соединений с отдельными сервисами. Мы используем UFW, чтобы установить политики брандмауэра и настроить исключения.
С помощью менеджера пакетов apt установите брандмауэр UFW. Сначала обновите локальный индекс.
apt update
apt install ufw
Различные приложения при установке регистрируют свои профили в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет в UFW свой профиль.
Чтобы просмотреть его, введите:
ufw app list
Available applications:
. . .
OpenSSH
. . .
Теперь нужно включить SSH-соединения, чтобы иметь возможность подключиться к серверу в следующий раз. Для этого введите команду:
ufw allow OpenSSH
После этого можно включить брандмауэр:
ufw enable
Чтобы продолжить, нажмите у и Enter. Чтобы убедиться, что соединения SSH не блокируются брандмауэром, введите эту команду:
ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
На данный момент брандмауэр блокирует все, кроме SSH. Если вы установили и настроили дополнительные сервисы, вам необходимо откорректировать настройки брандмауэра, чтобы он не блокировал другой трафик.
Читайте также: Основы UFW: общие правила и команды фаервола
5: Проверка доступа к новому пользователю
Теперь, когда у вас есть обычный пользователь для повседневной работы, нужно убедиться, что вы можете подключиться к этой учетной записи по SSH.
Примечание: Пока вы не убедитесь, что можете войти в систему и использовать sudo в сессии нового пользователя, рекомендуем оставаться в системе как пользователь root. Если у вас возникнут проблемы, вы сможете устранить неполадки и внести необходимые изменения с правами root.
Настройка SSH-доступа для вашего нового пользователя зависит от того, что использует ваша учетная запись root для аутентификации – пароль или SSH-ключи.
Парольная аутентификация
Если вы вошли в свою учетную запись root через пароль, значит, SSH поддерживает парольную аутентификацию. Вы можете подключиться по SSH к новому пользователю, открыв новую сессию терминала и используя SSH с именем нового пользователя:
ssh 8host@your_server_ip
Введите пароль пользователя, после чего вы войдете в систему. Помните, что если вам нужно запустить команду с правами администратора, нужно для этого добавить sudo:
sudo command_to_run
При первом запуске sudo в каждой сессии (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.
Чтобы повысить безопасность сервера, вместо парольной аутентификации мы рекомендуем настроить SSH-ключи. Следуйте инструкциям в мануале Установка SSH-ключей в Debian 10.
Аутентификация на основе SSH-ключей
Если вы вошли в учетную запись root через SSH-ключи, парольная аутентификация отключена. Вам нужно добавить копию открытого ключа в файл ~/.ssh/authorized_keys нового пользователя для дальнейшего доступа к системе.
Поскольку открытый ключ уже находится на сервере в файле пользователя root, ~/.ssh/authorized_keys, вы можете скопировать эту структуру файлов и каталогов в учетную запись нового пользователя в текущем сеансе с помощью команды cp. Чтобы установить привилегии, используйте команду chown . Обязательно укажите свои данные в приведенных ниже командах.
cp -r ~/.ssh /home/8host
chown -R 8host:8host /home/8host/.ssh
Команда cp -r копирует весь каталог в домашний каталог нового пользователя, а команда chown -R передает этот каталог (и всего внутри) в собственность указанного пользователя и группы в формате username:groupname (Debian создает для пользователя одноименную группу по умолчанию).
Откройте терминал и создайте новое SSH соединение:
ssh 8host@your_server_ip
Вы должны без пароля войти в новую учетную запись пользователя. Помните, чтобы запустить команду с правами администратора, нужно ввести перед ней sudo:
sudo command_to_run
При первом запуске sudo в каждой сессии (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.
Заключение
Вы выполнили начальную настройку сервера, он готов к установке нового программного обеспечения и к разработке проектов. Теперь, когда основные компоненты серверной среды настроены, можно оптимизировать работу системы: настроить справку, текстовый редактор по умолчанию и т. п.