Если вы ищете “настройка VPS сервера на ubuntu с нуля”, вам нужна не инструкция “как включить кнопку”, а понятный порядок действий: подключиться к серверу, обновить систему, настроить доступ, безопасность и базовую инфраструктуру так, чтобы этим реально было комфортно пользоваться.

Ниже - чек-лист и пошаговый сценарий, который покрывает типичную первичную настройку нового VPS: от первого SSH-доступа до UFW и SSH-ключей.


Что сделать в первую очередь после создания VPS

Новый сервер почти всегда приходит “сырым”: обновления не применены, доступ может быть только по паролю, брандмауэр либо отсутствует, либо настроен минимально. Поэтому логика простая: сначала приводим система в порядок, затем закрываем очевидные риски, и только потом ставим нужные утилиты.

Обычно по итогу вы получите:
- доступ по SSH (лучше ключами)
- обновлённые пакеты
- работающий брандмауэр
- нормальные временные настройки (часовой пояс, синхронизация)
- базовые утилиты для работы


Подключение по SSH: первый вход на VPS

Подготовьте данные от провайдера

В панели управления вы обычно найдете:
- IP сервера
- логин пользователя (часто root)
- пароль (если выдаётся)

Эти данные сохраните в надёжном месте, потому что дальше они нужны только чтобы зайти один раз и настроить ключи.

Подключение через SSH (Linux/macOS/Windows)

Команда выглядит так:

ssh login@ip-адрес

Первый вход попросит подтвердить отпечаток ключа сервера. Если это ваш VPS и вы действительно подключаетесь впервые - подтверждайте.

На Windows удобнее всего использовать PuTTY или любой клиент, который умеет SSH.


Обновить пакеты и привести систему в “рабочее состояние”

Смысл этого шага - убрать “хвосты” после установки образа и поставить актуальные security updates.

sudo apt update
sudo apt upgrade -y

Если у вас сейчас вход как root - можно продолжать, но лучше дальше работать с отдельным пользователем с правами sudo.

Задать часовой пояс и проверить время

Проверка доступных временных зон:

sudo timedatectl list-timezones

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

sudo timedatectl set-timezone Europe/Sofia

Создать пользователя и выдать ему sudo-права

Работать под root постоянно - плохая привычка. Правильнее завести обычного пользователя и дать ему админские права по sudo.

Пример (замените username на своё):

sudo adduser username
sudo usermod -aG sudo username

Дальше логичнее продолжить настройки уже под этим пользователем.


Настройка брандмауэра UFW

Брандмауэр нужен, чтобы отсечь лишние входящие соединения. Самый частый сценарий - оставить только SSH (и то по настроенному порту), а остальные порты открывать точечно под задачи.

Проверить статус:

sudo ufw status

Если UFW выключен, включите:

sudo ufw enable

Открыть SSH (если SSH на стандартном порту 22, это и есть “правильно по умолчанию”):

sudo ufw allow 22/tcp

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

sudo ufw status verbose

Настройка SSH: переход на ключи (без пароля)

Почему это важно

Публичные сервисы постоянно получают попытки взлома методом перебора паролей. Даже сложный пароль - это всё равно “вход по паролю”, а значит атаки будут идти всегда.

Решение: вход по SSH-ключам и отключение PasswordAuthentication.

Генерация ключа на вашем компьютере

На локальной машине:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Обычно можно оставить путь по умолчанию и просто нажимать Enter.

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

После генерации у вас появится:
- приватный ключ (его никому не отдавать)
- публичный ключ (его добавляем на сервер)

Добавить публичный ключ на VPS

Самый удобный вариант - через ssh-copy-id (если доступен на вашей ОС):

ssh-copy-id login@ip-адрес

Если ssh-copy-id недоступен, ключ можно добавить вручную: положить публичный ключ в ~/.ssh/authorized_keys и выставить права:
- каталог ~/.ssh - права 700
- файл authorized_keys - права 600

После проверки отключить вход по паролю

Сначала проверьте, что вы можете войти по ключу в новом окне терминала (важно не “отрезать” себя).

Дальше правьте конфиг SSH:

sudo nano /etc/ssh/sshd_config

Найдите/добавьте нужные параметры:

PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes

Сохраните и перезапустите SSH:

sudo systemctl restart sshd

Базовый набор программ (минимум, который реально нужен)

Обычно на чистом образе не хватает “удобных мелочей”. Быстрый набор:

sudo apt install -y sudo curl nano git btop
  • sudo - работа от имени обычного пользователя с админскими правами
  • curl - скачивание/запросы по URL
  • nano - быстрые правки конфигов
  • git - проекты и репозитории
  • btop - наглядный монитор ресурсов

Если вам нужен VPN: что подготовить на Ubuntu “с нуля” (общий подход)

Разные протоколы (OpenVPN, WireGuard и т.д.) требуют своего набора пакетов и конфигов. Но базовая подготовка сервера почти одинаковая:

  • включить IP forwarding (если VPN должен маршрутизировать трафик)
  • настроить правила NAT (чтобы трафик с VPN уходил в интернет)
  • открыть нужные порты в UFW
  • убедиться, что интерфейс внешней сети определён корректно

Если вы планируете OpenVPN, часто используют связку openvpn + easy-rsa для генерации сертификатов и конфигурации сервера/клиента. При этом помните: конфигурации клиента и сервера должны быть согласованы по параметрам (режимы, сети, TLS и т.п.).


Частые проблемы и как их не доводить до “потери доступа”

  • Закрыли SSH в UFW и потеряли доступ. Решение - сначала добавьте правило открытия порта, потом уже включайте/меняйте настройки.
  • Отключили вход по паролю слишком рано. Решение - сначала убедитесь, что вход по ключу работает в отдельном окне терминала.
  • Изменили SSH на нестандартный порт без открытия порта. Решение - правила для UFW должны появиться сразу.
  • Время/таймзона сбиты. Решение - настроить через timedatectl, особенно если дальше будет TLS и логи.

Итоговый чек-лист “настроить VPS-сервер на Ubuntu с нуля”

Что сделать Команды/смысл
Обновить систему sudo apt update && sudo apt upgrade -y
Задать часовой пояс sudo timedatectl set-timezone ...
Завести пользователя вместо работы под root adduser, usermod -aG sudo ...
Включить UFW и открыть SSH sudo ufw enable, sudo ufw allow 22/tcp
Настроить SSH-ключи ssh-copy-id ... (или вручную), затем отключить пароль
Отключить вход по паролю в SSH PasswordAuthentication no + перезапуск SSH
Поставить базовые утилиты sudo apt install -y curl nano git btop
Дальше - под вашу задачу VPN/сайты/контейнеры - по отдельным схемам

Про “чистый Debian vs Ubuntu” и почему часто выбирают Ubuntu

В контексте система-настроек логика похожа: пакетный менеджер apt, общая философия администрирования, типовые инструменты. На практике выбор Ubuntu часто удобен из-за количества гайдов и готовых решений под неё.

Но если вы любите предсказуемость и минимализм, Debian тоже попадает в “частый выбор”. Для первичной настройки это почти не меняет порядок действий: последовательность шагов остаётся той же.


Источники по теме

  • Документация и практика по управлению пакетами и службами в Ubuntu/Debian: страницы apt, systemctl, UFW (официальные мануалы Ubuntu/Debian)
  • Материалы сообщества по первичной настройке VPS на Linux (практические гайды и шаблоны действий на новых серверах)
  • Руководства по настройке SSH-ключей и отключению входа по паролю в sshd_config

(Приведённые в источниках подходы хорошо стыкуются с реальными сценариями “новый VPS → доступ → безопасность → базовые утилиты”.)