SSH
(→Сервер) |
Admin (обсуждение | вклад) |
||
(не показаны 33 промежуточные версии 11 участников) | |||
Строка 1: | Строка 1: | ||
+ | ={{PAGENAME}}= | ||
+ | |||
+ | SSH (Secure SHell) – это сетевой протокол, позволяющий получить удаленный доступ к командному процессору терминала. Следующие сценарии использования являются типичными: | ||
+ | |||
+ | 1. Администрирование удаленных компьютеров, таких как серверы, используя устройство в безопасном соединении вместо открытого текста. | ||
+ | |||
+ | 2. При выполнении операций с консолью можно столкнуться с такими ограничениями, как ввод текста, время работы от батареи, вычислительные возможности или доступное программное обеспечение. | ||
+ | |||
+ | 3. Для некоторых приложений требуется сетевое соединение с более высокими параметрами, чем обеспечивает устройство. Например, сервер, располагающий подключением в 100 Мбит, работающий в режиме 24/7, обычно как быстрее, так и надежнее, чем устройство, использующее Wi-Fi или 3G. | ||
+ | |||
+ | 4. При объединении с таким эмулятором терминала, поддерживающим работу в фоновом режиме, как screen или программой dtach приложение продолжит работать после того, как сетевое соединение будет разорвано или устройство будет отключено. | ||
+ | |||
+ | 5. Протокол SSH можно использовать для удаленной оконной системы X11, переадресации, установления туннельных соединений, VPN, метода открытия портов port knocking. Это темы выше среднего уровня и требуют основательных фундаментальных знаний. | ||
+ | |||
+ | __TOC__ | ||
+ | |||
[[Category:Пользователи]] | [[Category:Пользователи]] | ||
Строка 4: | Строка 20: | ||
==== OpenSSH ==== | ==== OpenSSH ==== | ||
− | OpenSSH – это наиболее часто используемый клиент-серверный пакет. Он предлагается в [[Extras]]. Можно инсталлировать только часть клиента, часть сервера или обе части в зависимости от конкретного сценария использования. Имейте в виду, что инсталляция может занять некоторое время и может показаться, что она | + | OpenSSH – это наиболее часто используемый клиент-серверный пакет. Он предлагается в [[Extras]]. Можно инсталлировать только часть клиента, часть сервера или обе части в зависимости от конкретного сценария использования. Имейте в виду, что инсталляция может занять некоторое время и даже может показаться, что она остановилась. Задержка скорее всего вызвана генерацией SSH ключей во время инсталляции. |
==== Dropbear ==== | ==== Dropbear ==== | ||
Строка 14: | Строка 30: | ||
Для разрешения планшету/телефону соединяться с другими машинами. | Для разрешения планшету/телефону соединяться с другими машинами. | ||
− | С удаленной машиной можно соединиться с планшета, выполнив <code>ssh ''user''@''server ip''</code>. В результате | + | С удаленной машиной можно соединиться с планшета, выполнив <code>ssh ''user''@''server ip''</code>. В результате будет получен доступ к командному процессору (shell) на удаленном компьютере на машине сервера. |
==== Сервер ==== | ==== Сервер ==== | ||
Для разрешения другим машинам соединяться с планшетом/телефоном. | Для разрешения другим машинам соединяться с планшетом/телефоном. | ||
− | + | Для получения доступа к командному процессору на планшете с удаленной машины (возможно, для редактирования локального файла при помощи настоящей клавиатуры) нужно только убедиться, что на планшете инсталлирован сервер OpenSSH, и выполнить <code>ssh root@''tablet ip''</code> | |
− | Обратите внимание, что устройства N900 | + | Обратите внимание, что, если IP адрес выдан DHCP сервером, то устройства N900 называются "Nokia-N900-41-10". Обратитесь к [https://bugs.maemo.org/show_bug.cgi?id=2758 этой ошибке]. |
=== PuTTY === | === PuTTY === | ||
− | PuTTY – это клиент для SSH и [крайне небезопасных] протоколов Telnet. Это популярный клиент для Microsoft Windows, Unix-подобных операционных систем с портами, существующими даже для телефонов Symbian, Windows Mobile и даже Интернет планшетов. Его можно использовать для соединения с планшетом, на котором запущен OpenSSH для получения | + | PuTTY – это клиент для SSH и [крайне небезопасных] протоколов Telnet. Это популярный клиент для Microsoft Windows, Unix-подобных операционных систем с портами, существующими даже для телефонов Symbian, Windows Mobile и даже Интернет планшетов. Его можно использовать для соединения с планшетом, на котором запущен OpenSSH, для получения доступа к командному процессору на удаленном компьютере. |
==== Использование ==== | ==== Использование ==== | ||
− | + | * Загрузите PuTTY на машину, с которой необходимо соединиться с планшетом. | |
− | + | ** Вы должны увидеть окно «Конфигурация PuTTY" с выбранной категорией "Сессия". | |
− | + | * Убедитесь, что "SSH" выбран как "Тип соединения" и введите <code>the tablet's ip</code> в раздел «Имя хоста» (или IP-адрес). | |
− | + | * ''Если'' нужно изменить любые другие настройки в силу необходимости или личного предпочтения, например, продолжите и измените настройки так, как это требуется. | |
− | + | * Если вы хотите сохранить эти настройки для использования в будущем для быстрого соединения с планшетом, добавьте имя в "Сохраненные сессии" и нажмите Сохранить. | |
− | + | * Нажмите Открыть и в ответ на запрос введите имя пользователя, с которым вы хотите соединиться. (Обычно используется имя пользователя root). | |
==== Дополнительная безопасность и удобство ==== | ==== Дополнительная безопасность и удобство ==== | ||
− | Сгенерировать секретный ключ для разрешения аутентификации, базирующейся на использовании открытого ключа, | + | Сгенерировать секретный ключ на устройстве для разрешения аутентификации, базирующейся на использовании открытого ключа, довольно легко. При условии, что ключ хранится в тайне, это более безопасно, чем использование пароля UNIX (PAM). |
Прежде всего, убедитесь, что вы можете использовать SSH для удаленного подключения к компьютеру *NIX с учетной записью пользователя. | Прежде всего, убедитесь, что вы можете использовать SSH для удаленного подключения к компьютеру *NIX с учетной записью пользователя. | ||
− | На устройстве | + | На устройстве необходимо создать каталог в соответствующем домашнем каталоге пользователя: |
cd | cd | ||
mkdir .ssh | mkdir .ssh | ||
Строка 48: | Строка 64: | ||
На удаленном компьютере *NIX выполните следующую команду: | На удаленном компьютере *NIX выполните следующую команду: | ||
ssh-keygen -t rsa | ssh-keygen -t rsa | ||
− | В | + | В домашнем каталоге найдите файлы с названиями .ssh/id_rsa.pub и .ssh/id_rsa |
− | Файл .pub содержит открытый ключ – | + | Файл .pub содержит открытый ключ – он копируется на другие машины. Содержимое второго файла нужно держать в тайне. |
− | В том случае, если | + | В том случае, если секретный ключ украден (например, устройство украдено), у злоумышленника есть доступ к машине, для которого не требуется вводить пароль. Именно поэтому рекомендуется использовать пароль при подаче команды ssh-keygen. Обратите внимание, что этот пароль [i]не[/i] должен быть таким же, как пароль в UNIX. |
Далее, если вы используете OpenSSH: | Далее, если вы используете OpenSSH: | ||
Строка 57: | Строка 73: | ||
Для dropbear: | Для dropbear: | ||
scp .ssh/id_rsa.pub <user>@<hostname_or_ip_address>:.ssh/authorized_keys | scp .ssh/id_rsa.pub <user>@<hostname_or_ip_address>:.ssh/authorized_keys | ||
− | В результате вас попросят ввести | + | В результате вас попросят ввести пароль UNIX для копирования ключа. |
Теперь выполните: | Теперь выполните: | ||
ssh <user>@<hostname_or_ip_address> | ssh <user>@<hostname_or_ip_address> | ||
− | и вы должны просто получить приглашение на ввод пароля. Если имена пользователя на локальной и удаленной машинах совпадают, | + | и вы должны просто получить приглашение на ввод пароля. Если имена пользователя на локальной и удаленной машинах совпадают, часть [i]user@[/i] можно опустить. |
==== VPN, установление туннельных соединений ==== | ==== VPN, установление туннельных соединений ==== |
Текущая версия на 17:02, 17 марта 2010
SSH
SSH (Secure SHell) – это сетевой протокол, позволяющий получить удаленный доступ к командному процессору терминала. Следующие сценарии использования являются типичными:
1. Администрирование удаленных компьютеров, таких как серверы, используя устройство в безопасном соединении вместо открытого текста.
2. При выполнении операций с консолью можно столкнуться с такими ограничениями, как ввод текста, время работы от батареи, вычислительные возможности или доступное программное обеспечение.
3. Для некоторых приложений требуется сетевое соединение с более высокими параметрами, чем обеспечивает устройство. Например, сервер, располагающий подключением в 100 Мбит, работающий в режиме 24/7, обычно как быстрее, так и надежнее, чем устройство, использующее Wi-Fi или 3G.
4. При объединении с таким эмулятором терминала, поддерживающим работу в фоновом режиме, как screen или программой dtach приложение продолжит работать после того, как сетевое соединение будет разорвано или устройство будет отключено.
5. Протокол SSH можно использовать для удаленной оконной системы X11, переадресации, установления туннельных соединений, VPN, метода открытия портов port knocking. Это темы выше среднего уровня и требуют основательных фундаментальных знаний.
Содержание |
Добавочное программное обеспечение, которое нужно инсталлировать на устройство
OpenSSH
OpenSSH – это наиболее часто используемый клиент-серверный пакет. Он предлагается в Extras. Можно инсталлировать только часть клиента, часть сервера или обе части в зависимости от конкретного сценария использования. Имейте в виду, что инсталляция может занять некоторое время и даже может показаться, что она остановилась. Задержка скорее всего вызвана генерацией SSH ключей во время инсталляции.
Dropbear
Dropbear – это альтернативный ssh клиент/серверный пакет, который использует меньше ресурсов диска/памяти.
Использование на устройстве
Клиент
Для разрешения планшету/телефону соединяться с другими машинами.
С удаленной машиной можно соединиться с планшета, выполнив ssh user@server ip
. В результате будет получен доступ к командному процессору (shell) на удаленном компьютере на машине сервера.
Сервер
Для разрешения другим машинам соединяться с планшетом/телефоном.
Для получения доступа к командному процессору на планшете с удаленной машины (возможно, для редактирования локального файла при помощи настоящей клавиатуры) нужно только убедиться, что на планшете инсталлирован сервер OpenSSH, и выполнить ssh root@tablet ip
Обратите внимание, что, если IP адрес выдан DHCP сервером, то устройства N900 называются "Nokia-N900-41-10". Обратитесь к этой ошибке.
PuTTY
PuTTY – это клиент для SSH и [крайне небезопасных] протоколов Telnet. Это популярный клиент для Microsoft Windows, Unix-подобных операционных систем с портами, существующими даже для телефонов Symbian, Windows Mobile и даже Интернет планшетов. Его можно использовать для соединения с планшетом, на котором запущен OpenSSH, для получения доступа к командному процессору на удаленном компьютере.
Использование
- Загрузите PuTTY на машину, с которой необходимо соединиться с планшетом.
- Вы должны увидеть окно «Конфигурация PuTTY" с выбранной категорией "Сессия".
- Убедитесь, что "SSH" выбран как "Тип соединения" и введите
the tablet's ip
в раздел «Имя хоста» (или IP-адрес). - Если нужно изменить любые другие настройки в силу необходимости или личного предпочтения, например, продолжите и измените настройки так, как это требуется.
- Если вы хотите сохранить эти настройки для использования в будущем для быстрого соединения с планшетом, добавьте имя в "Сохраненные сессии" и нажмите Сохранить.
- Нажмите Открыть и в ответ на запрос введите имя пользователя, с которым вы хотите соединиться. (Обычно используется имя пользователя root).
Дополнительная безопасность и удобство
Сгенерировать секретный ключ на устройстве для разрешения аутентификации, базирующейся на использовании открытого ключа, довольно легко. При условии, что ключ хранится в тайне, это более безопасно, чем использование пароля UNIX (PAM).
Прежде всего, убедитесь, что вы можете использовать SSH для удаленного подключения к компьютеру *NIX с учетной записью пользователя.
На устройстве необходимо создать каталог в соответствующем домашнем каталоге пользователя:
cd mkdir .ssh chmod 700 .ssh
На удаленном компьютере *NIX выполните следующую команду:
ssh-keygen -t rsa
В домашнем каталоге найдите файлы с названиями .ssh/id_rsa.pub и .ssh/id_rsa Файл .pub содержит открытый ключ – он копируется на другие машины. Содержимое второго файла нужно держать в тайне.
В том случае, если секретный ключ украден (например, устройство украдено), у злоумышленника есть доступ к машине, для которого не требуется вводить пароль. Именно поэтому рекомендуется использовать пароль при подаче команды ssh-keygen. Обратите внимание, что этот пароль [i]не[/i] должен быть таким же, как пароль в UNIX.
Далее, если вы используете OpenSSH:
scp .ssh/id_rsa.pub <user>@<hostname_or_ip_address>:.ssh/authorized_keys2
Для dropbear:
scp .ssh/id_rsa.pub <user>@<hostname_or_ip_address>:.ssh/authorized_keys
В результате вас попросят ввести пароль UNIX для копирования ключа.
Теперь выполните:
ssh <user>@<hostname_or_ip_address>
и вы должны просто получить приглашение на ввод пароля. Если имена пользователя на локальной и удаленной машинах совпадают, часть [i]user@[/i] можно опустить.
VPN, установление туннельных соединений
Пожалуйста, обратитесь к инструкции Установление туннельных соединений из корпоративных сетей (Часть 1).