Определение простыми словами
SSH (Secure Shell) — это «защищённый телефон» между вашим компьютером и сервером. Вы вводите команды на ноутбуке, они шифруются и улетают на удалённую машину; результат возвращается обратно. Никто посередине (провайдер, кафе с Wi-Fi) не видит ни команд, ни паролей.
На сервере работает демон sshd, по умолчанию на TCP-порту 22. Клиент — программа ssh на macOS/Linux или PuTTY/Termius на Windows. Аутентификация — паролем (хуже) или SSH-ключом (лучше).
Сравнение способов аутентификации
| Способ | Безопасность | Удобство | Когда применять |
|---|---|---|---|
| Пароль | Низкая (брутфорс) | Запомнить легко | Только за VPN |
| RSA 4096 | Высокая | Стандарт | Совместимость со всем |
| Ed25519 | Высокая | Короткий ключ | Современные системы |
| ECDSA | Средняя | Быстрая верификация | Резервный вариант |
| Hardware-токен (YubiKey) | Максимальная | Нужен ключ физически | Прод и критичные системы |
Кейсы использования
- Управление VPS — стандартное подключение к серверу для деплоя и настройки.
- SFTP — передача файлов — поверх SSH, шифрование «из коробки».
- Проброс портов (tunnel) — открыть локальный порт через сервер: например, локально работать с удалённой базой.
- Запуск долгих скриптов через tmux/screen — сессия не убивается при разрыве SSH.
- Когда SSH НЕ нужен: для shared-хостинга, где доступ только через панель или FTP, SSH часто отключён.
Технические детали
Базовое подключение и генерация ключа:
# Генерация Ed25519 ключа
ssh-keygen -t ed25519 -C "your_email@example.com"
# Загрузка публичного ключа на сервер
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@185.12.34.56
# Подключение по нестандартному порту
ssh -p 2222 user@server.com
# Проброс локального порта 5432 на удалённый Postgres
ssh -L 5432:localhost:5432 user@server.com
Минимальный hardening: отключить вход root напрямую (PermitRootLogin no), отключить пароли (PasswordAuthentication no), сменить порт с 22 на нестандартный, поставить fail2ban. Конфиг живёт в /etc/ssh/sshd_config, перезапуск — systemctl reload sshd. Подробнее о OpenSSH — главной реализации протокола.
🔥 Где это применяется
Частые вопросы
Как подключиться к VPS из Windows?
Через встроенный OpenSSH в PowerShell (Windows 10+) или клиенты PuTTY, Termius, MobaXterm. Команда такая же: ssh user@ip.
Чем SSH-ключ лучше пароля?
Ключ — длинная случайная строка (256+ бит), её нельзя угадать брутфорсом. Пароль из 8 символов взламывается за минуты, словарный — за секунды.
Что делать, если потерял приватный SSH-ключ?
Зайти в панель хостинга → консоль сервера → удалить старый публичный ключ из ~/.ssh/authorized_keys и добавить новый. Если консоли нет — переустановка ОС.
Зачем менять стандартный порт 22?
Боты сканируют порт 22 непрерывно, забивая логи. Смена на нестандартный (2222, 22022) убирает 99% мусорных попыток входа. Не защита от целевой атаки, но снижение шума.