hostprofi.ru
Подобрать хостинг
Термин·буква S

SSH

краткое определение

SSH (Secure Shell) — криптографический протокол для безопасного удалённого подключения к серверам. Шифрует весь трафик и заменяет небезопасные Telnet и rsh. Порт по умолчанию — 22.

SSH (Secure Shell) — сетевой протокол прикладного уровня для защищённого удалённого управления серверами и передачи файлов. Стандартизован в RFC 4251–4254. Шифрует весь канал связи, включая аутентификацию — в отличие от Telnet, который передаёт всё в открытом виде.

Как работает

Соединение SSH проходит три фазы: согласование параметров (алгоритмы шифрования, MAC), обмен ключами (Diffie-Hellman или ECDH), аутентификация. После успешной аутентификации устанавливается зашифрованный канал для терминального сеанса, передачи файлов (SFTP) или туннелирования трафика.

Аутентификация бывает двух видов: по паролю (менее безопасно — пароль может быть похищен брутфорсом) и по ключу (RSA, Ed25519, ECDSA). При аутентификации по ключу: приватный ключ хранится у пользователя, публичный — в файле ~/.ssh/authorized_keys на сервере. Сервер отправляет зашифрованный вызов, клиент расшифровывает приватным ключом — пароль по сети не передаётся.

SSH поддерживает туннелирование: Local Port Forwarding (ssh -L 8080:localhost:80 user@server) пробрасывает локальный порт через зашифрованный туннель. Dynamic Port Forwarding создаёт SOCKS5-прокси. Remote Port Forwarding — обратный туннель.

История

SSH создал финский исследователь Тату Илонен (Tatu Ylonen) в 1995 году после перехвата паролей в сети Хельсинкского политехнического института. SSH 1.0 стал ответом на уязвимость Telnet. В 1996 году вышел SSH-2 с улучшенной безопасностью. В 1999 году вышел OpenSSH — свободная реализация SSH, форк SSH 1.2.12. OpenSSH сейчас является стандартом: он установлен по умолчанию на всех Linux-серверах, macOS, Windows 10+ и встроен в большинство маршрутизаторов.

Настройка безопасного SSH

  • Отключить вход под root: PermitRootLogin no в /etc/ssh/sshd_config
  • Отключить аутентификацию по паролю: PasswordAuthentication no
  • Сменить порт с 22 на нестандартный (снижает шум в логах от ботов)
  • Использовать Fail2ban для блокировки брутфорс-атак
  • Предпочесть Ed25519 ключи: ssh-keygen -t ed25519

На что обращать внимание

SSH — основной инструмент управления VPS и выделенными серверами. Панели управления хостингом не заменяют SSH — они лишь предоставляют GUI для типовых задач. Прямой SSH-доступ нужен для отладки, ручной настройки, работы с Docker и Git. На виртуальном хостинге SSH часто недоступен или ограничен — это одно из ключевых отличий от VPS.

Безопасность SSH

Минимальная защита SSH: смена порта с 22 на нестандартный (снижает автоматический брутфорс), отключение парольной аутентификации (PasswordAuthentication no в sshd_config), Fail2ban для блокировки перебора паролей. Ключи Ed25519 — предпочтительны перед RSA: меньше размер, выше безопасность. SSH-туннелирование позволяет безопасно пробросить порты VPS через шифрованный канал без открытия файрвола. На shared hosting SSH может быть ограничен или недоступен — зависит от тарифного плана.

Другие термины