Easy SSH tunnels/ru

From DD-WRT Wiki

Revision as of 18:07, 2 June 2020 by Biant (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


Contents

[edit] Введение

SSH туннелирование позволяет вам перенаправлять трафик из одного места в другое, используя шифрование между ними. Оно отлично подходит для доступа к домашней сети из удаленных мест, таких как ваше рабочее место или общественные точки доступа Wi-Fi. Вы также можете использовать его для безопасного серфинга Интернета, перенаправляя трафик из удаленного места в ваш дом, а затем в Интернет в не зашифрованном виде из вашего дома. Это может позволить вам обойти ограничения брандмауэра в удаленном месте.

[edit] Требования

  • Вам понадобится версия прошивки, которая поддерживает SSH.
  • Вам понадобится SSH клиент, запущенный на удалённом рабочем месте.

[edit] Конфигурирование DD-WRT SSH сервера

  1. Откройте вкладку Службы и суб-вкладку Службы в Web Interface.
  2. Включите SSHd в разделе Secure Shell.
  3. Пункт Перенаправление TCP SSH можно оставить отключенным.
  4. Порт можно оставить 22.
  5. Или включите Вход по паролю (менее безопасно, но легче настроить) или см. страничку Wiki по SSH, чтобы настроить Авторизованные ключи.
  6. Нажмите кнопку Применить.
  7. Откройте вкладку Администрирование -> Система
  8. Включите Управление через SSH в разделе Удаленный доступ.
  9. Установите Порт удаленного SSH тот, который вы хотите использовать для подключения к маршрутизатору из Интернета. Порт 443 является хорошим выбором, поскольку его обычно оставляют открытым для использования HTTPS, поэтому ваш клиент сможет подключаться даже через брандмауэры с очень жёсткими ограничениями.
  10. Нажмите кнопку Применить..

Вы вероятно захотите настроить службу Dynamic DNS, особенно если ваш провайдер предоставляет вам динамический IP адрес. Это позволит вам получить доступ к маршрутизатору через Интернет, используя легко запоминающееся доменное имя вместо IP-адреса WAN.

[edit] Конфигурирование удалённого SSH клиента

[edit] PuTTY клиент

PuTTY - это графический SSH-клиент для Windows, доступный для загрузки [here].

  1. Установите и запустите PuTTY на клиентском ПК.
  2. Впишите в Host Name (or IP Address) или динамическое DNS-имя вашего домашнего маршрутизатора, или его общедоступный интернет-адрес. (на картинке ниже это частный адрес локальной сети 10.0.0.1)
  3. Установите Port на Порт удаленного SSH, который вы установили в шаге 9 в конфигурировании SSH сервера.
  4. Установите Connection type в SSH.

Image:Easy_ssh_putty_session.png

  1. Перейдите в раздел Connection -> Data.
  2. УстановитеAuto-login username в root чтобы вам не нужно было набирать имя пользователя каждый раз, когда вы подключаетесь.
  3. Перейдите в раздел Connection -> SSH -> Tunnels.
  4. Введите 8080 в Source port.
  5. Выберите пункт Dynamic чтобы сделать его динамическим туннелем, который будет действовать как SOCKS прокси.
  6. Нажмите на кнопку Add чтобы добавить его список пробрасываемых портов. В списке он появится как D8080.

Image:Easy_ssh_putty_tunnel.png

  1. Если вы настроили сервер на использование ключа авторизации, то перейдите в раздел Connection -> SSH -> Auth и введите местоположение файла вашего ключа.
  2. Вернитесь назад в раздел Session.
  3. Введите имя, которым вы хотите назвать набор настроек в поле Saved Sessions и нажмите кнопку Save.
  4. Теперь вы можете дважды щелкнуть имя сохраненной сессии в списке, чтобы загрузить его и открыть соединение с вашим SSH-сервером.
  5. При каждом подключении вам нужно будет вводить пароль маршрутизатора, если вы не используете авторизованный ключ.

[edit] Клиент командной строки

Linux, Mac OS, а также много других ОС идут уже с предустановленными клиентами SSH, которые запускаются из командной строки. Все, что вам нужно сделать, это открыть оболочку и выполнить эту команду, указав адрес вашего SSH-сервера.

ssh root@[IP адрес SSH вервера или доменное имя] -p 443 -D 8080

Если вы используете авторизованный ключ, обратитесь к документации вашей ОС для получения подробной информации о том, как использовать его с командой ssh или где разместить файл ключа для его автоматического использования. В противном случае вам будет предложено вводить пароль при каждом подключении. Дополнительным преимуществом использования файла ключей с ssh в оболочке командной строки является то, что вы можете запустить его скрытым как фоновый процесс вместо того, чтобы оставлять оболочку открытой.

[edit] Конфигурирование программ для использования туннеля

Теперь, когда у вас запущен SSH, все, что вам нужно сделать, это настроить браузер (или другую программу) для подключения к SOCKS прокси-серверу, работающему на порту 8080 клиентского компьютера.

  1. Перейдите в настройки подключения в вашей программе.
  2. Установите настройки SOCKS прокси на использование адреса localhost и порта 8080

image:Easy_ssh_firefox.png

Когда ваш браузер будет настроен на работу через SSH туннель, зайдите на сайт, который покажет вам ваш IP, например [whatsmyip.org], и убедитесь, что ваш IP соответствует публичному интернет-адресу вашего домашнего роутера.

Вам нужно будет держать SSH соединение открытым всякий раз, когда вы захотите использовать его для прокси. Когда вы закончите использовать туннель, измените настройки вашей программы, чтобы она больше не использовала туннель, иначе у неё не будет подключения, пока туннель не работает.

[edit] Ссылки