Урок 02

Подключение к серверу по SSH

Что такое SSH

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

Безопасно: весь трафик шифруется.

Стандарт: используется с 1995 года. Заменить нечем.

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

После покупки VPS хостер пришлёт:

IP: 192.0.2.1
Login: root
Password: A8fK2!mNp9$qL

Подключение:

ssh root@192.0.2.1

Первый раз спросит:

The authenticity of host '192.0.2.1' can't be established.
ED25519 key fingerprint is SHA256:xxxxx.
Are you sure you want to continue connecting (yes/no)?

Вводишь yes — добавляет отпечаток в ~/.ssh/known_hosts.

Потом вводишь пароль. Пароль не отображается — это нормально.

Что ты увидишь после входа

Welcome to Ubuntu 22.04 LTS

root@server:~#

Это приглашение командной строки. Здесь ты вводишь команды.

Что означает приглашение:

  • root — пользователь, под которым ты
  • server — имя хоста
  • ~ — текущая папка (домашняя)
  • # — ты под root. У обычного пользователя — $.

Проверка

Кто я:

whoami
# root

Где я:

pwd
# /root

Инфа о системе:

uname -a
# Linux server 5.15.0-91-generic #101-Ubuntu SMP ...

Работа в сессии

Выполнить одну команду без входа:

ssh root@192.0.2.1 "df -h"

Выйти из сессии:

exit

Или Ctrl + D.

Прервать команду:

Ctrl + C

SSH-порт

Стандарт — порт 22. Иногда хостеры меняют (2222, 22222).

Другой порт:

ssh -p 2222 root@192.0.2.1

Проверь в письме хостера.

Терминалы

На Linux/macOS — встроенный терминал.

На Windows:

  • Windows Terminal (современный, рекомендую)
  • PowerShell — встроен
  • Git Bash — идёт с Git for Windows
  • WSL — полноценный Linux внутри Windows
  • PuTTY — старый, но живёт
  • MobaXterm — с графическим SFTP

Что делать после первого входа

1. Обнови систему:

apt update && apt upgrade -y

Может занять 5-10 минут. Соглашайся на всё.

2. Проверь часовой пояс:

timedatectl

Если не UTC и не твой — поставь:

timedatectl set-timezone Europe/Moscow

3. Создай пользователя (не работай под root):

adduser roman
usermod -aG sudo roman

4. Дальше — SSH-ключи (следующий урок).

Частые проблемы

1. Connection refused

Сервер не запущен или порт закрыт. Проверь:

  • Сервер работает?
  • Порт правильный?
  • Хостер не блокирует?

2. Permission denied (publickey,password)

Неверный пароль или ключ. Проверь PasswordAuthentication на сервере.

3. Host key verification failed

Отпечаток сервера изменился. Если ты уверен, что сервер тот же — удали старый:

ssh-keygen -R 192.0.2.1

4. Долго подключается

DNS не резолвится. Проверь:

ssh -v root@192.0.2.1

Флаг -v — подробный вывод.

Полезные флаги ssh

ssh -v host           # verbose (отладка)
ssh -vv host          # ещё подробнее
ssh -p 2222 host      # другой порт
ssh -i key host       # конкретный ключ
ssh -L 8080:localhost:80 host   # туннель
ssh -X host           # X11 forwarding (GUI через SSH)

Port forwarding

Проброс порта с сервера на локалку:

ssh -L 5432:localhost:5432 root@192.0.2.1

Теперь можешь подключаться к localhost:5432 — трафик пойдёт на сервер через туннель.

Зачем:

  • Подключиться к БД на сервере (закрытой firewall) из локального pgAdmin/DBeaver
  • Обойти блокировку портов

Мониторинг соединений

Кто подключён к серверу:

who
w

Вывод:

roman    pts/0        2026-10-14 10:00 (192.0.2.5)

История входов:

last
lastlog

Неудачные попытки:

grep "Failed password" /var/log/auth.log

Полезные команды сессии

Проверить latency (задержку):

Внутри SSH-сессии:

Enter, потом ~, потом s — покажет статистику соединения.

Suspending (свернуть):

Enter, потом ~, потом Ctrl + Z — вернуть в фоне.

Вернуть из фона: fg

Итог

Ты умеешь:

  • Подключаться по SSH
  • Работать в сессии
  • Использовать port forwarding
  • Диагностировать проблемы

Дальше — SSH-ключи вместо пароля.