psj-notes
~/home ~/series ~/archive

Часть 01. От VDS до SSH — создание и первичный вход

28.07.2026 Серия: Руководство по настройке srv02-Helsinki 'vds' 'ssh' 'user'

Часть 01. От VDS до SSH: Настройка первичного доступа

«Нет ничего проще, чем завести себе удалённый компьютер. Трудности начинаются в тот момент, когда вы пытаетесь им воспользоваться.» — Воланд


Глава 1. Создание VDS

Первый шаг — создание сервера у провайдера. Выбираем чистый образ Ubuntu 24.04 LTS.

Провайдер выдаёт:

  • IP-адрес: XX.XX.XX.XX
  • Пароль root: выдаётся при создании сервера

На Ubuntu 24.04 LTS OpenSSH-сервер предустановлен и уже запущен. По умолчанию разрешён вход пользователя root по паролю — этим мы и воспользуемся для первого подключения.

Подключаемся с локального компьютера по SSH напрямую под root:

ssh root@XX.XX.XX.XX

Ожидаемый вывод при первом подключении:

The authenticity of host 'XX.XX.XX.XX (XX.XX.XX.XX)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Подтверждаем подлинность хоста — вводим yes. После этого SSH запрашивает пароль:

root@XX.XX.XX.XX's password:

Вводим пароль root, полученный от провайдера. После успешного входа видим приглашение командной строки:

root@srv02-Helsinki:~#

Воланд, наблюдая за первым входом по SSH:
«Неплохо. Первый ключ к шкатулке уже у нас. Но пароль, переданный через интернет, — это как записка под дверью. Надо менять.»


Глава 2. SSH: что это и зачем

SSH (Secure Shell) — протокол для удалённого управления сервером через зашифрованное соединение. Вместо того чтобы каждый раз заходить в веб-консоль провайдера, мы подключаемся к серверу одной командой из терминала на своём компьютере.

Знакомимся с командой systemctl status — универсальным способом проверить состояние любой службы. В будущем она не раз пригодится для диагностики:

systemctl status ssh

Ожидаемый вывод:

● ssh.service — OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-01-14 12:00:00 MSK; 1min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 1234 (sshd)
      Tasks: 1 (limit: 1111)
     Memory: 1.2M
        CPU: 10ms
     CGroup: /system.slice/ssh.service
             └─1234 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Пояснения к выводу:

  • Active: active (running) — служба работает
  • enabled — добавлена в автозагрузку
  • Main PID: 1234 — идентификатор процесса SSH-демона
  • Memory: 1.2M — сколько памяти потребляет служба

Проверяем, что SSH слушает 22-й порт, с помощью ss (socket statistics):

ss -tlnp | grep :22

Флаги команды:

  • -t — только TCP-сокеты
  • -l — только слушающие (listening) сокеты
  • -n — числовой вывод (без преобразования в имена)
  • -p — показать процесс, владеющий сокетом
  • | grep :22 — фильтр по порту 22

Ожидаемый вывод:

LISTEN 0      128        0.0.0.0:22        0.0.0.0:*    users:(("sshd",pid=1234,fd=3))
LISTEN 0      128           [::]:22           [::]:*    users:(("sshd",pid=1234,fd=4))

Пояснения к выводу:

  • LISTEN — порт открыт и ожидает соединений
  • 0.0.0.0:22 — слушает на всех сетевых интерфейсах (IPv4)
  • [::]:22 — то же самое для IPv6
  • pid=1234 — процесс SSH, обслуживающий порт

Воланд, просматривая вывод ss -tlnp:
«Двадцать второй порт. Стандартный и открытый настежь. Все сканеры интернета уже стучатся в него. Но пока ключи не сменены — это неизбежное зло.»


Глава 3. Создание пользователя user01 и права sudo

Работать под root — смертельный грех администратора. Создаём штатного пользователя user01:

useradd -m -s /bin/bash user01

Параметры команды:

  • -m — создать домашний каталог /home/user01
  • -s /bin/bash — установить оболочку Bash

Команда выполняется без вывода при успешном создании.

Задаём пароль пользователю user01:

passwd user01

Ожидаемый вывод:

New password:
Retype new password:
passwd: password updated successfully

Пароль вводится дважды (символы не отображаются).

Добавляем пользователя в группу sudo для административных прав:

usermod -aG sudo user01

Пояснения к ключам:

  • -a — добавить в группу, не удаляя из других
  • -G sudo — указать группу sudo

Команда выполняется без вывода.

Проверяем работу sudo. Переключаемся на пользователя user01:

su - user01

Ожидаемый вывод:

user01@srv02-Helsinki:~$

Проверяем, что sudo работает:

sudo whoami

Ожидаемый вывод (после ввода пароля user01):

[sudo] password for user01:
root

Команда whoami через sudo возвращает root — права администратора работают.

Возвращаемся в сессию root:

exit

Ожидаемый вывод:

logout
root@srv02-Helsinki:~#

Воланд, оглядывая нового пользователя:
«Итак, у нас появился гражданин user01 — смертный с правами sudo. По крайней мере, теперь он не сможет снести систему случайной опечаткой без явного предупреждения.»


Глава 4. Подключение по SSH под user01

Выходим из текущей сессии root и подключаемся заново, но уже под user01:

exit

На локальном компьютере подключаемся к серверу под новым пользователем:

ssh user01@XX.XX.XX.XX

Ожидаемый вывод: SSH запрашивает пароль user01.

user01@XX.XX.XX.XX's password:

После успешного входа:

Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
user01@srv02-Helsinki:~$

Проверяем доступность sudo:

sudo whoami

Ожидаемый вывод:

[sudo] password for user01:
root

Воланд, глядя на успешный вход по сети:
«Первый мост проложен. Передача паролей по сети — это моветон, но для начального шага сойдёт. Теперь нужно немедленно переходить к ключам и запечатать парольные входы.»


Финал части: Резюме Воланда

Воланд подводит итог первой части:
«Сервер развёрнут, пользователь user01 создан и наделён полномочиями sudo, SSH работает. Первичный доступ получен, но замок на дверях пока стандартный. В следующей части мы изгоним пароли навсегда!»

Комментарии

Комментарии пока не подключены.