Главная Облако тегов     Подписка на ленту обновлений (RSS) XMPP (Jabber) совместимые службы мгновенных сообщений. К примеру Google Talk, Gizmo, jabber.org Пишите письма О сайте
Вы находитесь здесь: Заметки экспериментатора » SSH: Туннелирование
Translations of this page:

SSH: Туннелирование

Туннель для X-Server

Достаточно типовая задача. Вы работаете за машиной на которой запущен X-Server (к примеру xorg, xfree86 или что-то из коммерческих аналогов), и у Вас возникло непреодолимое желание поработать с удалённой машиной и неприменно воспользоваться каким нибудь приложением требующим красивых графических окошек. К примеру xcalc, но это не столь важно.

В дни своей бурной молодости я с радостью первооткрывателя заходил через ssh на удалённую машину. Прописывал там переменную DISPLAY, а на локальной машине разрешал иксам подключение xhost remote-host. Теперь я постарел, стал ленивый и совершаю меньше телодвижений.

local-side $ ssh -X remote-user@remote-host
remote-side$ xcalc

Всё оказалось просто. И, замечу, безопасно, поскольку туннель проложен через шифрованное соединение.

Произвольные туннели

Прокладывать произвольные туннели чуть сложнее, чем туннель для иксов. Для этого служат ключи -L и -R.

  -R [bind_address:]port:host:hostport

Прокладывает туннель с удалённой (Remote) машины на локальную.

Действие таково. На удалённой машине открывается на прослушивание порт port, если нужно его можно привязать к конкретному адресу bind_address. При подключении клиента на этот порт подключение пробрасывается через шифрованное соединение на машину host (т.е. не обязательно на ту, с которой Вы подключились по SSH) на порт hostport.

Аналогичным образом прокладывается туннель с локальной (Local) машины на удалённую.

  -L [bind_address:]port:host:hostport

Понятно, что теперь порт на прослушивание будет открываться на Вашей машине.

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

При использовании IPv6 адресации следует использовать альтернативную форму записи:

  -R [bind_address/]port/host/hostport
  -L [bind_address/]port/host/hostport

SOCKS

С помощью опции -D bind-local-port можно создать SOCKS4/5 сервер на bind-local-port порту локальной машины.

ssh -D 2080 remote-user@remote-host
откроет SSH соединение и откроет на 2080 порту SOCKS сервер запросы к которому будут туннелироваться на удалённую машину и уже оттуда будет производится подключение.

Замечание: Любое приложение можно научить работать через SOCKS с помощью утулиты tsocks . Так же можно обратить внимание на proxychains.

Ivan A-R 23.07.2006 14:06

Дискуссия

Enter your comment (wiki syntax is allowed):
Краткая справка
  • **полужирный**
  • //курсив//
  • > цитата
  • [[http://link | Заголовок ссылки]]
Больше о синтаксисе...
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
ssh-tunneling.txt · Последние изменения: 2007/04/07 22:07 (внешнее изменение)