Покупка VPS, доменного имени, привязка DNS и настройка по SSH

⏱ 30 мин · 🧩 заданий: 6

Что понадобится

  1. VPS (Virtual Private Server) — виртуальный сервер с полным доступом (root). Подойдёт любой провайдер: Timeweb Cloud, Selectel, REG.RU, Beget, DigitalOcean, Hetzner и др. Для блога хватит минимальной конфигурации: 1 vCPU, 1–2 ГБ RAM, 15–25 ГБ SSD.
  2. Доменное имя — например, myblog.ru, у любого регистратора.
  3. SSH-клиент — встроен в Linux, macOS и Windows 10+ (ssh в терминале или PowerShell).

При создании сервера выберите Ubuntu 24.04 LTS — все команды курса даны для неё.

Как это будет работать

Браузер ──▶ DNS: myblog.ru → 203.0.113.10
        ──▶ VPS 203.0.113.10
              NGINX (80/443, HTTPS, статика, медиа)
                 └──▶ Gunicorn (Django)
                          └──▶ PostgreSQL

В этом модуле мы соберём всю цепочку.

DNS: привязка домена

В панели регистратора (или DNS-хостинга) создайте записи:

Тип Имя Значение
A @ 203.0.113.10 (IP вашего VPS)
A www 203.0.113.10

@ — сам домен (myblog.ru), www — поддомен www.myblog.ru. Вместо второй A-записи можно создать CNAME www → myblog.ru.

Изменения DNS распространяются от нескольких минут до суток. Проверить:

nslookup myblog.ru
dig +short myblog.ru

Подключение по SSH

ssh root@203.0.113.10

При первом подключении SSH спросит, доверяете ли вы серверу (yes), и попросит пароль из письма провайдера.

Обновление системы

apt update && apt upgrade -y

Сразу настроим часовой пояс:

timedatectl set-timezone Europe/Moscow

Отдельный пользователь

Работать постоянно под root опасно — одна ошибка может сломать систему. Создадим пользователя с правами sudo:

adduser deploy
usermod -aG sudo deploy

SSH-ключи

На своём компьютере создайте пару ключей (если её ещё нет):

ssh-keygen -t ed25519 -C "you@example.com"

Появятся два файла в ~/.ssh/: id_ed25519 (приватный — никому не отдавайте!) и id_ed25519.pub (публичный — его кладут на серверы).

Скопируйте публичный ключ на сервер:

ssh-copy-id deploy@203.0.113.10

На Windows без ssh-copy-id — вручную добавьте содержимое id_ed25519.pub в файл /home/deploy/.ssh/authorized_keys на сервере.

Теперь вход без пароля:

ssh deploy@203.0.113.10

Удобно добавить хост в ~/.ssh/config:

Host myblog
    HostName 203.0.113.10
    User deploy

и подключаться командой ssh myblog.

Защита SSH

Убедившись, что вход по ключу работает, отключите вход под root и по паролю:

sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart ssh

Не закрывайте текущую сессию

Перед перезапуском SSH откройте второй терминал и проверьте, что вход по ключу работает. Иначе можно потерять доступ к серверу (тогда поможет только веб-консоль провайдера).

Файрвол

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Позже откроем порты 80 и 443 для NGINX. Для защиты от перебора можно поставить fail2ban:

sudo apt install fail2ban -y

Итог

  • VPS с Ubuntu 24.04 + домен; A-записи @ и www указывают на IP сервера.
  • Подключение — ssh user@IP; работаем под отдельным пользователем с sudo.
  • Вход только по SSH-ключам, root и пароли отключены.
  • Файрвол ufw пропускает только нужные порты.

Практика решено 0 из 6

Вы не вошли — ответы проверяются, но прогресс не сохранится. Войти или зарегистрироваться.
Задание 1 Один вариант ответа

Какая DNS-запись связывает доменное имя с IPv4-адресом сервера?

Задание 2 Ввод ответа

Какой командой подключиться по SSH к серверу 203.0.113.10 под пользователем root?

Задание 3 Расставить по порядку

Расставьте шаги первичной настройки сервера в правильном порядке.

  1. Запретить вход root и по паролю в /etc/ssh/sshd_config, перезапустить ssh
  2. Скопировать свой SSH-ключ: ssh-copy-id deploy@IP
  3. Создать пользователя: adduser deploy и usermod -aG sudo deploy
  4. Обновить систему: apt update && apt upgrade -y
  5. Подключиться под root: ssh root@IP
  6. Включить файрвол: ufw allow OpenSSH и ufw enable
Задание 4 Несколько вариантов

Почему вход по SSH-ключам лучше входа по паролю?

Задание 5 Ввод ответа

Какой командой создать новую пару SSH-ключей современного типа ed25519 на своём компьютере?

Задание 6 Практика (выполнить у себя)

Арендуйте VPS (подойдёт минимальный тариф: 1 CPU, 1–2 ГБ RAM, Ubuntu 24.04), подключитесь по SSH, создайте пользователя deploy с sudo и войдите под ним по ключу. Выполните whoami и вставьте вывод.

Войдите, чтобы отмечать пройденные уроки.