Первоначальная настройка веб-сервера Linux на базе Ubuntu.
Ниже мы настраиваем сервер Ubuntu под версией 20.04. То же самое будет справедливо и для большинства других версий. Как обновить Ubuntu с 18.04 до 20.04.
Предполагаем, что у нас установлена новая Ubuntu 20.04 и никаких других действий и настроек в ней пока не было.
1. Создаем пользователя
Общая процедура создания и удаления пользователей в Ubuntu.
Добавим нового пользователя:
Добавим в группу администраторов:
Теперь мы можем заходить на сервер через нового пользователя. А выполнять команды от имени администратора посредством:
2. Настраиваем доступ по SSH
Для безопасной работы с сервером надо настроить вход через защищенный протокол без пароля, но с публичным ключом компьютера. Настраиваем доступ на свой сервер через SSH.
После настройки проверим вход на сервер без пароля. Для этого заходим стандартным способом:
Если при запуске команды пароль больше не запрашивается, то значит доступ настроен верно.
3. Копируем вход через SSH для нового пользователя
Следующей командой мы копируем настроенные доступы SSH у пользователя root новому пользователю, в данном случае пользователю ploshadka:
В случае успеха консоль покажет:
cd+++++++++ .ssh/
>f+++++++++ .ssh/authorized_keys
>f+++++++++ .ssh/id_rsa
>f+++++++++ .ssh/id_rsa.pub
>f+++++++++ .ssh/known_hosts
sent 7.62K bytes received 96 bytes 15.44K bytes/sec
total size is 7.22K speedup is 0.94
Проверим, что можем зайти без пароля:
Пароль пользователя не забываем, он все ещё пригодится, когда нужно будет выполнить что-то от пользователя с правами администратора:
4. Настраиваем базовый брандмауэр
Статья по настройке ufw на Ubuntu.
5. Отключаем аутентификацию на сервере по паролю
Открываем файл:
Указываем:
PasswordAuthentication no
Сохраним файл и перезагрузим службу:
Или в Cent OS:
6. Добавим публичные DNS от Google
Это нужно чтобы не иметь проблем с обновлением пакетов, если вдруг с DNS адресом по-умолчанию (127.0.0.53) будут какие-то проблемы.
Установим пакет resolvconf:
Затем открываем файл:
И добавляем туда:
nameserver 8.8.4.4
Эти данные добавятся в файл, который отвечает за DNS:
Если мы внесли бы данные напрямую в этот файл без утилиты resolvconf, то после перезагрузки сервера данные перезатерлись теми, что по-умолчанию.
7. Настройка временной зоны
Также настроим временную зону для сервера.
Заключение
На сервере настроен вход через SSH по публичному ключу без пароля. Всю дальнейшую настройку рекомендуется проводить через нового пользователя.