Ubuntu Server — это дистрибутив Linux для установки на серверы. Он не содержит графической оболочки, по умолчанию доступны только консольные утилиты. После завершения установки вы получаете голую систему Ubuntu и прежде чем она станет способна выполнять свои функции сервера, вам предстоит потратить еще немного времени на ее настройку.
В этой статье мы разберем как выполняется настройка Ubuntu Server 18.04 после установки, рассмотрим настройку пользователей, SSH, а также настройку брандмауэра.
Настройка Ubuntu Server 18.04 после установки
Начнем с обновления системы. Я предполагаю, что сеть у вас уже настроена автоматически. Если это не так, то воспользуйтесь статьей про настройку сети с помощью Netplan.
1. Обновление системы
Первым делом, после завершения установки любой операционной системы ее необходимо обновить. Для этого выполните такие команды:
sudo apt update
sudo apt list --upgradable
sudo apt upgrade
Чем больше времени прошло с момента релиза установочного образа Ubuntu Server, тем больше времени займет обновление системы, но это необходимая операция. После обновления перезагрузите систему:
sudo reboot
2. Настройка SSH
Поскольку это серверная система, то получать к ней доступ мы будем удаленно. Поэтому сразу же после обновления следует настроить SSH и использовать этот протокол для дальнейшей настройки.
Сначала необходимо сменить порт SSH на удаленном сервере, иначе рано или поздно кто-то попытается его перебрать. Откройте файл /etc/ssh/sshd.conf, найдите строчку Port 22 и измените значение порта на другое число, например, на 2323:
sudo vi /etc/ssh/sshd_config
Для запуска службы SSH и добавления ее в автозагрузку выполните:
sudo systemctl start sshd
sudo systemctl enable sshd
Теперь вы можете авторизоваться на вашем сервере с другой машины. Но каждый раз вводить пароль при входе не очень удобно. Настроем авторизацию по ключу. Для этого на вашей рабочей машине выполните команду для генерации ключа:
ssh-keygen
Программа спросит вас путь, куда нужно сохранить ключ, не оставляйте по умолчанию, используйте например, ~/.ssh/id_rsa_ubuntu. Затем утилита предложит ввести пароль для ключа. Если вы не хотите вводить этот пароль каждый раз при входе по SSH, то его задавать не нужно. Но в целях безопасности очень не рекомендуется использовать ключи без паролей.
Затем отправьте только что созданный ключ на свой сервер:
ssh-copy-id -i ~/.ssh/id_rsa_ubuntu.pub имя_пользователя@хост
Теперь вы сможете авторизоваться на этом сервере без ввода пароля:
ssh имя_пользователя@хост
Дальнейшую настройку сервера можно проводить через SSH.
3. Настройка брандмауэра ufw
Сервер будет находиться в сети, а поэтому к нему будет иметь доступ множество пользователей. Необходимо спрятать все запущенные на сервере службы с помощью брандмауэра и оставить только разрешенные. В Ubuntu для управления брандмауэром используется надстройка над iptables — ufw.
По умолчанию, после запуска брандмауэр закрывает доступ ко всем не разрешенным службам извне. Мы сейчас работаем на сервере по SSH, поэтому нужно разрешить эту службу:
sudo ufw allow OpenSSH
Если вы изменили стандартный порт SSH на втором шаге, необходимо разрешать именно тот порт, который вы указали:
sudo ufw allow 2323/tcp
Затем выполните такую команду для включения ufw:
sudo ufw enable
Далее нужно нажать y для подтверждения. Брандмауэр будет запущен и добавлен в автозагрузку. Вы можете посмотреть его состояние командой:
sudo ufw status
4. Настройка времени
Установщик не предлагает вам выбрать часовой пояс и по умолчанию остается UTC. Таким образом, вы получаете время по Гринвичу. Вы можете проверить какое время показывает ваш сервер с помощью команды:
date
Чтобы это изменить нужно добавить свой часовой пояс. Посмотреть доступные часовые пояса можно командой:
timedatectl list-timezones
А для выбора нужного выполните:
sudo timedatectl set-timezone Europe/Kiev
Также желательно настроить NTP сервер, чтобы время автоматически синхронизировалось с серверами в интернете. Для установки NTP выполните:
sudo apt install ntp
А затем добавьте его в автозагрузку:
sudo systemctl enable ntp
5. Разблокировка пользователя root
В Ubuntu по умолчанию пароль для суперпользователя не задан, поэтому войти от его имени вы не сможете. Если вы хотите иметь возможность логиниться в системе от суперпользователя, или он нужен для системы управления конфигурацией то вы можете задать для него пароль:
sudo passwd root
И введите новый пароль. Затем вы сможете авторизоваться от имени этого пользователя.
su - root