SSH
Материал из DiPHOST.Ru wiki system
SSH (англ. Secure SHell — «безопасная оболочка») - сетевой протокол предназначенный для защищённой передачи данных между двумя сетевыми устройствами. Существует две версии протокола - SSH1 (практически уже не используется) и SSH2. SSH был разработан как замена Telnet и прочим системам удалённого доступа к командной оболочке операционной системы, пересылающим информацию, и в особенности пароль доступа, без шифрования. Используемое в SSH шифрование обеспечивает конфиденциальность передаваемой по сетям информации.
SSH в основном используется для подключения к удалённому устройству и выполнение команд на нём. Но также может использоваться для туннелирования, перенаправления TCP-портов и X11-соединений, передачи файлов. Множество программ используют SSH для своей работы. Например, программа rsync может использовать SSH для эффективного копирования и/или синхронизации файлов между удалёнными устройствами.
Архитектура SSH состоит из трёх основных уровней:
- Транспортный протокол обеспечивает аутентификацию сервера, конфиденциальность и целостность передаваемых данных, а также их сжатие.
- Протокол аутентификации пользователя обеспечивает проверку подлинности пользователя, подключающегося к серверу. Работает поверх транспортного протокола. Основные методы аутентификации включают следующие:
- password: метод аутентификации при помощи пароля
- publickey: метод аутентификации с использованием открытого ключа, обычно поддерживаются DSA и RSA ключи
- keyboard-interactive: универсальный метод, когда сервер посылает один или несколько запросов и ждёт интерактивного ответа от клиента. Используется обычно для обеспечения аутентификации при помощи одноразовых паролей. Также используется некоторыми конфигурациями для более эффективного обеспечения аутентификации при помощи пароля.
- Протокол соединения обеспечивает разделение данных в защищённом тоннеле по различным логическим каналам. Работает поверх протокола аутентификации пользователя. Основные каналы SSH: