Арендовав сервер или разместив сайт на хостинге, Вы можете столкнуться с понятием SSH или доступ к SSH (доступ SSH, SSH-доступ, ssh и т.п.). В этой статье мы расшифруем сокращение SSH, расскажем немного о нем и о доступе к SSH.
Что такое SSH
SSH (Secure Shell) – это криптографический протокол прикладного уровня, который позволяет осуществлять безопасную работу сетевых служб в незащищенной сети. Данный протокол делает возможным защищенное подключение и управление Unix-подобной операционной системой через командную строку, а также обладает функционалом создания туннелированных TCP-соединений.
SSH был разработан в качестве замены протоколам telnet, Berkeley rlogin , rsh и rexec, в которых отсутствовало шифрование данных, в частности паролей, что позволяло перехватить незашифрованные данные с помощью анализатора пакетов.
В отличие от вышеуказанных устаревших протоколов Secure Shell создает безопасных канал поверх незащищенной сети в архитектуре клиент-сервер. При этом существует две версии протокола Secure Shell – SSH1 и SSH2.
Окунемся в историю
Протокол SSH берет свое начало в 1995 году. Первая версия протокола – SSH1, была разработана Тату Улёненом из Технологического университета Хельсинки (Финляндия) для обеспечения большей безопасности, чем протоколы telnet, rlogin и т.д.
Уже в 1996 году появилась версия SSH2 (не совместима с SSH1), которая на данный момент и завоевала популярность. Поэтому, когда мы говорим SSH, то обычно подразумеваем SSH2. Повышенная безопасность SSH2 обеспечивается за счет обмена ключами Диффи-Хеллмана и строгой проверки целостности с помощью кодов аутентификации. Также в SSH2 появилась возможность запуска любого количества сеансов оболочки через одно соединение SSH.
Самой распространенной реализацией протокола SSH является свободно распространяемое ПО -OpenSSH, которая уже в 2006 году устанавливалось на 80% Unix-подобных операционных систем.
О доступе к SSH
Стандартным портом для подключения к удаленной системе по протоколу SSH является TCP-порт 22. Подключение к удаленному узлу возможно при условии, что на удаленном узле установлен SSH-сервер, а на локальной системе – SSH-клиент.
Когда говорят «доступ к SSH», то подразумевают подключение через SSH-клиент к удаленной системе с установленным SSH-сервером по протоколу SSH.
SSH-сервер – это программа, которая устанавливается в систему, доступ к которой будет осуществляться по SSH. Данный сервер осуществляет прием и ввод команд от удаленной системы (ssh-клиента) в консоль Unix-системы.
SSH-клиент – это программа, которая устанавливается в систему, осуществляющая подключение к SSH-серверу, ввод и передачу команд на удаленную консоль. Также может включать в себя функционал создания SSH-туннелей.
Обратите внимание! Самым распространенным SSH-клиентом в системах Windows является Putty.
Что такое SSH-туннель
SSH туннель — это туннель, создаваемый посредством SSH соединения и используемый для шифрования данных, передаваемых через туннель. Туннелирование SSH используется для безопасной передачи данных через незащищенное интернет-соединение. Данные, передаваемые через SSH-туннель шифруются на одном конце SSH-соединения и расшифровывается на другом.
Отметим, что SSH-туннель в стандартной схеме работы позволяет передавать только TCP-трафик. Передачу UDP-трафика лучше осуществлять с использованием других протоколов, например, протоколы технологии VPN.