SSH

Материал из FRUCT Maemo wiki (Russian)
(Различия между версиями)
Перейти к: навигация, поиск
(Сервер)
 
(не показаны 35 промежуточных версий 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]]. Можно инсталлировать только часть клиента, часть сервера или обе части в зависимости от конкретного сценария использования. Имейте в виду, что инсталляция может занять некоторое время и может показаться, что она замерла, так как SSH ключи должны сгенерироваться во время инсталляции.
+
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>
+
Для получения доступа к командному процессору на планшете с удаленной машины (возможно, для редактирования локального файла при помощи настоящей клавиатуры) нужно только убедиться, что на планшете инсталлирован сервер OpenSSH, и выполнить <code>ssh root@''tablet ip''</code>
  
Обратите внимание, что устройства N900 называют "Nokia-N900-41-10", если IP адрес выдан DHCP сервером (обратитесь к [https://bugs.maemo.org/show_bug.cgi?id=2758 этой ошибке])
+
Обратите внимание, что, если 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 на машину, с которой необходимо соединиться с планшетом.
## Вы должны увидеть окно «Конфигурация PuTTY" с выбранной категорией "Сессия".
+
** Вы должны увидеть окно «Конфигурация PuTTY" с выбранной категорией "Сессия".
# Убедитесь, что "SSH" выбран как "Тип соединения" и ведите <code>the tablet's ip</code> в раздел «Имя хоста» (или IP-адрес).
+
* Убедитесь, что "SSH" выбран как "Тип соединения" и введите <code>the tablet's ip</code> в раздел «Имя хоста» (или IP-адрес).
# ''Если'' вам нужно изменить любые другие настройки в силу необходимости или личного предпочтения, например, продолжите и измените настройки так, как это требуется.  
+
* ''Если'' нужно изменить любые другие настройки в силу необходимости или личного предпочтения, например, продолжите и измените настройки так, как это требуется.  
# Если вы хотите сохранить эти настройки для использования в будущем для быстрого соединения с планшетом, добавьте имя в "Сохраненные сессии" и нажмите Сохранить.  
+
* Если вы хотите сохранить эти настройки для использования в будущем для быстрого соединения с планшетом, добавьте имя в "Сохраненные сессии" и нажмите Сохранить.  
# Нажмите Открыть и в ответ на запрос введите имя пользователя, с которым вы хотите соединиться. (Обычно используется имя пользователя root).
+
* Нажмите Открыть и в ответ на запрос введите имя пользователя, с которым вы хотите соединиться. (Обычно используется имя пользователя root).
  
 
==== Дополнительная безопасность и удобство ====
 
==== Дополнительная безопасность и удобство ====
Сгенерировать секретный ключ для разрешения аутентификации, базирующейся на использовании открытого ключа, на устройстве довольно легко. При условии, что ключ хранится в тайне, это более безопасно, чем использование пароля UNIX (PAM).
+
Сгенерировать секретный ключ на устройстве для разрешения аутентификации, базирующейся на использовании открытого ключа, довольно легко. При условии, что ключ хранится в тайне, это более безопасно, чем использование пароля 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
+
В домашнем каталоге найдите файлы с названиями .ssh/id_rsa.pub и .ssh/id_rsa
Файл .pub содержит открытый ключ – вы копируете его на другие машины. Содержимое второго файла нужно держать в тайне.  
+
Файл .pub содержит открытый ключ – он копируется на другие машины. Содержимое второго файла нужно держать в тайне.  
  
В том случае, если ваш секретный ключ украден (например, ваше устройство украдено), у злоумышленника есть доступ к вашей машине, для которого не требуется вводить пароль. Именно поэтому рекомендуется использовать пароль при подачи команды ssh-keygen. Обратите внимание, что этот пароль [i]не[/i] должен быть таким же, как ваш пароль в UNIX.
+
В том случае, если секретный ключ украден (например, устройство украдено), у злоумышленника есть доступ к машине, для которого не требуется вводить пароль. Именно поэтому рекомендуется использовать пароль при подаче команды 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 для копирования ключа.
+
В результате вас попросят ввести пароль UNIX для копирования ключа.
  
 
Теперь выполните:
 
Теперь выполните:
 
  ssh <user>@<hostname_or_ip_address>
 
  ssh <user>@<hostname_or_ip_address>
и вы должны просто получить приглашение на ввод пароля. Если имена пользователя на локальной и удаленной машинах совпадают, вы можете опустить часть [i]user@[/i].
+
и вы должны просто получить приглашение на ввод пароля. Если имена пользователя на локальной и удаленной машинах совпадают, часть [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).

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты