SSH
Материал из DiPHOST.Ru wiki system
SSH (англ. Secure SHell — «безопасная оболочка») - сетевой протокол предназначенный для защищённой передачи данных между двумя сетевыми устройствами. Существует две версии протокола - SSH1 (практически уже не используется) и SSH2. SSH был разработан как замена Telnet и прочим системам удалённого доступа к командной оболочке операционной системы, пересылающим информацию, и в особенности пароль доступа, без шифрования. Используемое в SSH шифрование обеспечивает конфиденциальность передаваемой по сетям информации.
SSH в основном используется для подключения к удалённому устройству и выполнение команд на нём. Но также может использоваться для туннелирования, перенаправления TCP-портов и X11-соединений, передачи файлов. Множество программ используют SSH для своей работы. Например, программа rsync может использовать SSH для эффективного копирования и/или синхронизации файлов между удалёнными устройствами.
Существует несколько способов передачи файлов через SSH:
- SSH File Transfer Protocol (SFTP), защищённая альтернатива FTP (не путать с FTP поверх SSH)
- Secure copy (SCP), являющийся развитием протокола RCP поверх SSH
- Команды операционной системы поверх SSH и работа со стандартными потоками ввода/вывода
Для большинства операционных систем существуют реализации программ клиентов SSH. Для UNIX-подобных систем это обычно клиент системы OpenSSH ssh, для Windows одним из самых популярных является PuTTY.
Архитектура SSH состоит из трёх основных уровней:
- Транспортный протокол обеспечивает аутентификацию сервера, конфиденциальность и целостность передаваемых данных.
- Протокол аутентификации пользователя обеспечивает проверку подлинности пользователя, подключающегося к серверу. Обычно используется аутентификация при помощи пароля или аутентификация при помощи открытого ключа
- Протокол соединения обеспечивает разделение данных в защищённом тоннеле по различным логическим каналам, таких как соединение с командной оболочкой, SCP, SFTP, перенаправление портов, сжатие, перенаправление агента аутентификации.
Примеры использования
Получение доступа к командной строке удалённого сервера:
user@desktop:~$ ssh client@example.com Password: [client@example] ~$