Настраиваем VPS сервер для дальнейшей работы. Делаем обновление системы, подключаем настройки базовую безопасность системы, добавляем SSH ключ для доступа к VPS серверу.
Всем привет.
В предыдущих статьях вы узнали, что такое VPS сервер и зачем он нужен, а также установили свой первый VPS сервер.
Сегодня мы поговорим о том, как настроить VPS сервер для дальнейшей работы и решения свои целей и задач. Например, развертывание сайта, создание MTProxy или VPN для личного пользования.
Установка SSH ключей
Преждде чем начать работать необходимо добавить SSH ключ. Он нам понадобиться для дальнейшей работы.
Как создать SSH ключ, если его у Вас его еще нет я расскажу в другой статье.
Сейчас же мы переходим в раздел SSH Orchestration и подраздел SSH Keys в вертикальном меню слева.
Здесь мы жмем кнопку добавить и добавляем SSH ключ.
Здесь все просто. Нужно написать Имя Ключа (Key Name) и вставить данные из вашего публичного ключа (Public SSH Key Contents).
После чего добавить свой SSH ключ.
Теперь мы можем переходить непосредственно к настройке VPS сервера.
Обновление и установка firewall
Первым делом открываем Windows Power Shell.
В нем вводим следующую команду:
ssh root@111.111.11.111
111.111.11.111 - это IP вашего VPS Сервера. Его вы можете увидеть на главной странице вашего личного кабинета на Vultr.com в столбце IP.
Если ключ добавлен правильно, должно пустить. При первом входе обычно спросит подтверждение fingerprint:
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
— отвечаете YES.
Появится такой текст:
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.8.0-71-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Thu Apr 19 16:51:40 UTC 2026
System load: 0.08 Processes: 100
Usage of /: 5.8% of 32.86GB Users logged in: 0
Memory usage: 20% IPv4 address for eth0:
Swap usage: 0% IPv4 address for eth0:
Expanded Security Maintenance for Applications is not enabled.
146 updates can be applied immediately.
99 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
root@111.111.11.111:~#
Все отлично. Ваш сервер подключился.
Далее вводим команду:
apt update && apt full-upgrade -y
и обновляем систему.
В процессе обновления у Вас появится такое предупреждение:
По умолчанию выбрано No. Его и оставляете. Просто жмете Enter.
На разных сервисах это окошко может выглядеть по-разному. Но суть одна. Поэтому просто оставляете по умолчанию No и жмете Enter.
Когда обновление завершится вы увидите следующую информацию:
Все прошло отлично и мы делаем перезагрузку:
reboot
И заходим заново:
ssh root@111.111.11.111
После этого поочередно вводим следующие команды:
apt install -y ufw fail2ban curl wget git htop unzip ca-certificates
ufw allow OpenSSH
ufw enable
После команды ufw enable у вас появится предупреждение:
Это стандартное предупреждение от ufw. Оно просто напоминает, что firewall может оборвать SSH, если бы SSH не был заранее разрешён.
Вы уже сделали: ufw allow OpenSSH
Поэтому просто жмете: y
и последнюю команду:
ufw status verbose
Добавляем нового пользователя
Последовательно вводим команды:
adduser username
username - это имя пользователя. Вам необходимо его заменить на свое. Например, anton
Вводим дальше команды и не забываем поменять username на свое имя пользователя
usermod -aG sudo username
mkdir -p /home/username/.ssh
cp /root/.ssh/authorized_keys /home/username/.ssh/
chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys
Здесь вы видите поля:
- Full Name
- Room Number
- Work Phone
- Home Phone
- Other
Они не являются обязательными. Если они вам не нужны, везде просто жмите Enter до конца.
Потом, когда спросит что-то вроде:
Is the information correct? [Y/n]
введите: Y и Enter.
После этого открываем новое окно Windows Power Shell (команда Win+R)
И заходим на сервер заново как новый пользовватель:
ssh username@111.111.11.111
username - ваше новое имя пользователя.
После того как вошли проверяете результаты и вводите поочередно следующие команды:
uname -r
ufw status verbose
При этой команде ufw status verbose у вас появится такая ошибка потому что вы не в root.
Решается она просто. Добавляем sudo и пишем:
sudo ufw status verbose
И получаем результаты как у меня на скрине выше.
Следует отметить, что сервер попросить у вас пароль пользователя — введите тот пароль, который задавали при добавлении своего username в adduser
Следующим шагом проверьте, что у Вас есть sudo:
sudo whoami
Если всё хорошо, сервер должен вывести:
root
Дальше выполните ещё две команды:
sudo systemctl status fail2ban --no-pager
sudo ss -tulpn
И снова проверка результата
sudo ufw status verbose
sudo whoami
Итак, что мы имеем:
- новое ядро загружено
- ufw активен
- открыт только 22/tcp для SSH
- fail2ban запущен
- sudo у пользователя anton работает (у вас будет свой username)
- наружу сейчас слушает только sshd.
Делаем вход на VPS сервер только по SSH ключу
В завершение статьи в целях безопасности сделаем вход на сервер только по SSH ключу.
Для этого открываем конфигурационный файл:
sudo nano /etc/ssh/sshd_config
Находим строки:
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
Некоторые из них у вас будут закомментированы, а некоторые будут с другим значением.
Лично я просто те строки, которые были закомментированы раскомментировал, а те которвые имели другие значения наоборот комментировал, а с нужным значением делал некомментированными.
Так удобно и проще, если вдруг вы решите поменять настройки.
Правки делаются во встроенном Nano редакторе.
Вносите изменения и нажимаете последовательно команды:
Ctrl+O (это О, а не ноль)
Enter
Ctrl+X
Мы возвращаемся в консоль.
Чтобы проверить, что мы все сделали правильно вводим команду:
sudo grep -E '^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)' /etc/ssh/sshd_config
А затем еще одна проверка:
sudo fail2ban-client status
И перезапускаем SSH следующей командой:
sudo systemctl restart ssh
Теперь открываем новое окно с помощью Win+R и заново входим на сервер:
ssh username@111.111.11.111
Не забудьте, что входим как пользователь, то есть пишем свой username, а не root
Если пускает, значит всё нормально. И мы с вами молодцы.
Далее сразу проверяем статус SSH и последовательно вводим команды:
sudo sshd -t
sudo systemctl status ssh --no-pager
И в заключение делаем автоматическое обновление безопасности. Для этого выполняем следующие команды:
sudo apt install -y unattended-upgrades
Здесь у вас может появиться следующее окно:
unattended-upgrades — включает автоматическую установку стабильных обновлений безопасности. Для VPS это обычно правильный вариант.
Выбираете Yes → Enter.
Если потом захотите, это всегда можно изменить.
Далее вводим команду:
sudo dpkg-reconfigure -plow unattended-upgrades
Отлично. Все работает. Осталось только подвести итоги.
Итоги настройки VPS сервера
Наш VPS сервер на данном этапе:
- обновлён
- перезагружен
- защищён ufw
- с рабочим fail2ban
- с отдельным пользователем username (ваше имя пользователя)
- с рабочим входом по SSH-ключу
То есть мы имеем готовый и безопасный VPS сервер.
Необходимо отметить, что на других сервисах кроме Vultr.com настройка VPS сервера происходит аналогичным образом. Отличия могут быть минимальные.
Ну что же. На этом сегодня все.
В следующих статьях мы сделаем свой MTProxy, VPN и окружение для сайта.
Спасибо за внимание.
Если вам понравилась статья, ставьте лайки, подписывайтесь на мой канал. Мне также будут приятны донаты.