Подключение к серверу по 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-ключи вместо пароля.