Ubuntu — первичная настройка

Admin Ubuntu

Первоначальная настройка веб-сервера Linux на базе Ubuntu.

Ниже мы настраиваем сервер Ubuntu под версией 20.04. То же самое будет справедливо и для большинства других версий. Как обновить Ubuntu с 18.04 до 20.04.

Предполагаем, что у нас установлена новая Ubuntu 20.04 и никаких других действий и настроек в ней пока не было.

1. Создаем пользователя

Общая процедура создания и удаления пользователей в Ubuntu.

Добавим нового пользователя:

adduser ploshadka

Добавим в группу администраторов:

usermod -aG sudo ploshadka

Теперь мы можем заходить на сервер через нового пользователя. А выполнять команды от имени администратора посредством:

sudo какая-то команда

2. Настраиваем доступ по SSH

Для безопасной работы с сервером надо настроить вход через защищенный протокол без пароля, но с публичным ключом компьютера. Настраиваем доступ на свой сервер через SSH.

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

ssh root@111.111.111.111

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

3. Копируем вход через SSH для нового пользователя

Следующей командой мы копируем настроенные доступы SSH у пользователя root новому пользователю, в данном случае пользователю ploshadka:

rsync --archive --chown=ploshadka:ploshadka ~/.ssh /home/ploshadka
Утилита rsync копирует директории со всеми правами доступа. Для правильной работы важно в конце первого пути указывать без слэша.

В случае успеха консоль покажет:

sending incremental file list
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

Проверим, что можем зайти без пароля:

ssh ploshadka@111.111.111.111

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

sudo какая-то команда

4. Настраиваем базовый брандмауэр

Базовый Firewall (межсетевой экран, он же брандмауэр или калька с английского — фаервол) в Linux, не только в Ubuntu, называется iptables.

Стандартным интерфейсом управления этого брандмауэра является утилита netfilter. iptables и netfilter тесно связаны друг с другом, что часто их объединяют в единой целое netfilter/iptables.

В данном труде будет использоваться инструмент для настройки конфигурации брандмауэра, который называется UFW (от словосочетания Uncomplicated Firewall). Для упрощениям будем назвать ufw брандмауэром, хотя по факту это всего лишь интерфейс для взаимодействия с neftilter/iptables.

Разрешим ему доступ по SSH:

ufw allow OpenSSH

Активируем брандмауэр:

ufw enable

Проверить статус разрешенных подключений:

ufw status

Должно быть:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Сейчас брандмауэр будет блокировать все подключения кроме SSH. Для того, чтобы самому себе не усложнить жизнь, надо помнить, что был включен Firewall и если не будут работать какие-то порты, это может быть из-за блокировки нашего брандмауэра.

5. Отключаем аутентификацию на сервере по паролю

Перед отключением аутентификации должен быть настроен вход на сервер без пароля, как это описано выше в статье.

Открываем файл:

nano /etc/ssh/sshd_config

Указываем:

# Authentication:
PasswordAuthentication no

Сохраним файл и перезагрузим службу:

sudo systemctl restart ssh

Или в Cent OS:

sudo systemctl restart sshd

6. Добавим публичные DNS от Google

Это нужно чтобы не иметь проблем с обновлением пакетов, если вдруг с DNS адресом по-умолчанию (127.0.0.53) будут какие-то проблемы.

Установим пакет resolvconf:

sudo apt install resolvconf

Затем открываем файл:

/etc/resolvconf/resolv.conf.d/tail

И добавляем туда:

nameserver 8.8.8.8
nameserver 8.8.4.4

Эти данные добавятся в файл, который отвечает за DNS:

/etc/resolv.conf

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

Заключение

На сервере настроен вход через SSH по публичному ключу без пароля. Всю дальнейшую настройку рекомендуется проводить через нового пользователя.

Настройка сервера под Flask.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Ubuntu — первичная настройка"