Что такое SSH и с чем его едят SSH (сокр. от Security Shell — «защищенная оболочка») — сетевой протокол сеансового уровня, открывающий возможность безопасного удаленного управления сервером или любым другим компьютером. Главное достоинство SSH заключается в шифровании всего трафика и передаваемых файлов с паролями. На что способен SSH? Самый распространенный способ использования этого сетевого протокола заключается в удаленном управлении веб-сервером через терминал на операционных системах Linux (и любых других семейства Unix). В них, кстати, все возможности SSH обычно представлены по умолчанию, в качестве предустановленного SSH-сервера и клиента в числе базовых системных утилит. Основная функциональная особенность протокола — способность создавать защищенные шифрованные туннели, благодаря чему данные передаются абсолютно безопасно и изолированно от окружающей среды (в данном случае речь об интернете). Те, кто хоть немного знакомы с интернет-технологиями и сетевыми протоколами, успели заметить некоторое сходство между SSH и VPN. Доля правды в этом есть — механизм работы схож. Именно поэтому можно встретить простонародное название SSH-туннелей — «VPN для бедных». Правда, SSH в большинстве случаев применяется для удаленного управления и передачи информации, а VPN, по большей части, для выхода в интернет по зашифрованному каналу (но не только). Работа SSH так же напоминает функциональность протокола Telnet. Вкратце SSH поддерживает: 1. Множество способов аутентификации клиента. 2. Временные параметры аутентификации для большей защищенности коннекта. 3. 100% шифрование всего трафика по одному из алгоритмов на выбор (список ниже). 4. Контроль целостности пакетов и автоматический обрыв соединения при обнаружении факта подмены трафика. Как работать с SSH? Некоммерческая реализация протокола шифрования SSH — бесплатная и с открытым исходным кодом OpenSSH. Она, по умолчанию, имеется считай в любой ОС на базе ядер Linux или BSD (Ubuntu, Debian, Fedora, FreeBSD, OpenBSD и других) . Для использования возможностей Security Shell в этих ОС не нужно устанавливать дополнительных программ — все работает из терминала путем ввода текстовых команд. Существует две версии протокола — первая (устарела) и вторая. Теоретически можно использовать и устаревшую версию, но это лишено практического смысла, так как она имеет массу проблем с безопасностью и не имеет такого большого количества видов шифрования, как вторая. Она, кстати, поддерживает следующие алгоритмы: ● AES-128; ● AES-192; ● AES-256 (один из самых популярных и распространенных, стандарт шифрования правительства США); ● ArcFour; ● blowfish; ● CAST-128. Чтобы, будучи на ОС семейства Unix с предустановленным SSH-сервером, подключиться к удаленной машине с установленным клиентом по защищенному протоколу, необходимо знать базовый синтаксис. Основная терминальная команда имеет вид: ssh [необходимые опции для подключения] юзернейм@адрес сервера [команда] Список возможных опций велик. Например, SSH поддерживает сжатие трафика, и чтобы его включить для данной сессии, необходимо прописать опцию C (одна заглавная буква). Для перевода SSH в фоновый режим достаточно добавить опцию f (маленькая буква), а чтобы не показывать сообщения об ошибках — q и так далее. Так как по умолчанию протокол работает на 22 порту, что известно любому злоумышленнику, поэтому рекомендуется сменить его, подправив строку Port [номер] в файле sshd.conf, лежащем по пути /etc/ssh. Для использования Security Shell на Windows понадобится стороннее ПО, например, небольшая программа Putty — самый популярный SSH-клиент.