Пример базовых настроек сервера Debian после установки или покупки удалённого сервера .

ssh <пользователь>@<ip_адрес_сервера>

# Пример
ssh root@195.87.214.255

При первом подключении система может выдать вам предупреждение о подлинности хоста. Чтобы принять данное предупреждение, наберите yes:

Первое подключение по ssh

Пользователь root – это административная учётная запись в Linux, имеющая очень широкие полномочия. Из-за того, что данный пользователь владеет такими повышенными привилегиями, крайне нежелательно использовать его на регулярной основе. Связано это с тем, учётная запись root может быть применена для внесения в вашу систему деструктивных изменений вплоть до потери работоспособности.

На следующем этапе первоначальной настройки сервера мы создадим альтернативного пользователя с полномочиями меньшего уровня. Такую учётную запись можно будет более безопасно использовать в повседневной работе.

Создадим новую учётную запись, которую будем использовать далее:

adduser www-root

Здесь www-root – имя новой учётной записи, в качестве которого вы можете выбрать какое-либо своё. При создании нового пользователя система попросит сначала дважды ввести пароля для этой учётной записи. После этого нужно будет ответить на несколько вопросов, которые будет задавать система. Что-либо вводить при этом необязательно, можно просто нажимать Enter.

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

Теперь, когда мы создали новую учётную запись, необходимо дать ей полномочия администратора, чтобы выполнять задачи, требующие таких полномочий. Выполнение инструкции от имени суперпользователя производится при помощи команды sudo. Для того, чтобы новый пользователь мог запускать команду sudo, его необходимо добавить в соответствующую группу:

usermod -aG sudo www-root

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

# Обновляем списки пакетов
apt update

# Устанавливаем sudo
apt install sudo

Теперь, когда новый пользователь создан и добавлен в группу пользователей с привилегиями администратора, необходимо добавить пользователя в файл sudoers. Откроем для редактирования этот файл:

visudo

В открывшемся файле в разделе User privilege specification добавим нового пользователя и разрешим ему запуск команд от имени суперпользователя:

www-root ALL=(ALL:ALL) ALL

Затем необходимо зайти на сервер уже под нашим новым пользователем и обновить систему:

# Выйти
exit

# Зайти по пользователем www-root
ssh www-root@195.87.214.255

# ИЛИ выполнить (альтернатива двух предыдущих команд):
su www-root

# Обновить систему
sudo apt update && sudo apt upgrade && sudo apt full-upgrade -y

# Удалить старые версии пакетов и оставшиеся от обновления неактуальные зависимости
sudo apt autoremove

Для установки фаервол необходимо выполнить следующую команду:

sudo apt install ufw

После завершения установки фаервол не запускается автоматически, и список его исключений пуст, поэтому сначала настроим его и только потом запустим:

sudo ufw app list

Эта команда выведет на экран список приложений, доступных для добавления в список исключений ufw. Выберем пункт, отвечающий за SSH-подключение, и добавим его:

sudo ufw allow OpenSSH

Теперь запустим фаервол:

sudo ufw enable

Перед запуском программа уведомит нас о том, что SSH-соединение может быть разорвано, если служба SSH не добавлена в список исключений фаервола. Но мы добавили её, поэтому соглашаемся (Y) и запускаем фаервол.

После запуска можно проверить его статус:

sudo ufw status

# Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Про настройку SSH доступа по ключу (без пароля) есть подробная статья

Если это необходимо, то создадим специальный раздел на диске (SWAP (своп), или виртуальное пространство подкачки, или файл подкачки), проверим его работу, а также как сделаем так, чтобы после перезагрузки данный раздел подключался автоматически.

Проверяем, подключен ли SWAP:

swapon --show

# Или
free -h
SWAP

Здесь мы видим, что раздел SWAP пустой.

Перед созданием SWAP обязательно нужно проверить, есть ли свободное место на диске:

df -h

Создаём файл для SWAP размером 1 ГБ (указывайте свой размер):

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024K

Вывод будет таким:

1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.53548 s, 423 MB/s

Чтобы никто не мог читать или править файл, кроме владельца — root, устанавливаем права на него:

sudo chmod 600 /swapfile

Проверим, что права выставлены верно:

ls -la /swapfile

Результат:

-rw------- 1 root root 1073741824 Oct 28 14:34 /swapfile

Форматируем файл под swap:

sudo mkswap /swapfile

Вывод будет примерно таким:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=2b4fd556-bbd6-49c5-ad7b-63bf4cabe2f0

Включаем SWAP:

sudo swapon /swapfile

Проверим, что SWAP включен и его размер соответствует тому, что мы указывали:

free -h

Далее сделаем так, чтобы SWAP подключался автоматически после перезагрузки системы. Чтобы SWAP включался при загрузке, нужно добавить его в /etc/fstab:

sudo nano /etc/fstab

Добавляем в конец файла:

/swapfile    none    swap    sw   0  0

Перезапускаем сервер и проверяем:

sudo reboot