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