SSH
Материал из DiPHOST.Ru wiki system
Schors (Обсуждение | вклад) |
Schors (Обсуждение | вклад) (→Примеры настроек) |
||
(12 промежуточных версий не показаны.) | |||
Строка 17: | Строка 17: | ||
* Транспортный протокол обеспечивает [[Authentication|аутентификацию]] сервера, конфиденциальность и целостность передаваемых данных. | * Транспортный протокол обеспечивает [[Authentication|аутентификацию]] сервера, конфиденциальность и целостность передаваемых данных. | ||
* Протокол [[Authentication|аутентификации]] пользователя обеспечивает проверку подлинности пользователя, подключающегося к серверу. Обычно используется [[Authentication|аутентификация]] при помощи пароля или [[SSH-AUTH-KEYS|аутентификация при помощи открытого ключа]] | * Протокол [[Authentication|аутентификации]] пользователя обеспечивает проверку подлинности пользователя, подключающегося к серверу. Обычно используется [[Authentication|аутентификация]] при помощи пароля или [[SSH-AUTH-KEYS|аутентификация при помощи открытого ключа]] | ||
- | * Протокол соединения обеспечивает разделение данных в защищённом тоннеле по различным логическим каналам, таких как соединение с командной оболочкой, [[SCP]], [[SFTP]], перенаправление портов, сжатие, перенаправление | + | * Протокол соединения обеспечивает разделение данных в защищённом тоннеле по различным логическим каналам, таких как соединение с командной оболочкой, [[SCP]], [[SFTP]], перенаправление портов, сжатие, перенаправление агента SSH. |
==== Примеры использования ==== | ==== Примеры использования ==== | ||
Получение доступа к командной строке удалённого сервера: | Получение доступа к командной строке удалённого сервера: | ||
- | + | ssh client@diphost.ru | |
- | + | ||
- | + | Выполнение команды ls на удалённом сервере: | |
+ | ssh client@diphost.ru ls | ||
+ | |||
+ | Передача файла file.bin на удалённый сервер по терминальному доступу: | ||
+ | dd if=file.bin | ssh client@diphost.ru "dd of=file.bin" | ||
+ | |||
+ | Передача файла file.bin на удалённый сервер посредством [[SCP]]: | ||
+ | scp file.bin client@diphost.ru:~/ | ||
+ | |||
+ | Перенаправление порта MySQL на локальной машине на удалённую машину: | ||
+ | ssh -N -L 3306:localhost:3306 -f client@diphost.ru | ||
+ | |||
+ | ==== Интересные возможности ==== | ||
+ | |||
+ | * [[SSH-AUTH-KEYS|Аутентификация SSH по ключам]] | ||
+ | |||
+ | ==== Примеры настроек ==== | ||
+ | {| | ||
+ | | | ||
+ | * [[PuttyQuickStart]] | ||
+ | * [[PuttyConfig]] | ||
+ | * [[PuttyConfigKeys]] | ||
+ | * [[PuttyConfigAgent]] | ||
+ | * [[PuttyConfigPortForwarding]] | ||
+ | | | ||
+ | * [[SSHConfig|Настройка подключение OpenSSH клиента]] | ||
+ | * [[SSHConfigKeys|Работа с аутентификацией по ключу в OpenSSH клиенте]] | ||
+ | * [[SSHConfigAgent|Работа с агентом аутентификации в OpenSSH клиенте]] | ||
+ | * [[SSHConfigPortForwarding|Перенаправление портов в OpenSSH клиенте]] | ||
+ | |- | ||
+ | | | ||
+ | * [[WinSCPQuickStart]] | ||
+ | * [[WinSCPConfig]] | ||
+ | |} |
Текущая версия на 09:50, 22 октября 2010
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, перенаправление портов, сжатие, перенаправление агента SSH.
Примеры использования
Получение доступа к командной строке удалённого сервера:
ssh client@diphost.ru
Выполнение команды ls на удалённом сервере:
ssh client@diphost.ru ls
Передача файла file.bin на удалённый сервер по терминальному доступу:
dd if=file.bin | ssh client@diphost.ru "dd of=file.bin"
Передача файла file.bin на удалённый сервер посредством SCP:
scp file.bin client@diphost.ru:~/
Перенаправление порта MySQL на локальной машине на удалённую машину:
ssh -N -L 3306:localhost:3306 -f client@diphost.ru