2012-02-18 2 views
0

Предположим, что сеть похожа:ssh туннелирование через telnet-сервер

A (192.68.0.1) -------------------- B (192.68.0.2)) ------------------ C (192.68.0.3)

A - мой ssh-сервер, C - целевой сервер ssh, и я могу использовать telnet от A до B (моя учетная запись не является root).

B сервер не разрешает вход ssh из других, но B может войти в C через ssh.

Можно ли подключить C от A до B через ssh?

+0

Лучше всего подходит для superuser.com (или, может быть, serverfault.com) – rene

+0

* Вы можете * быть в состоянии с сеансом telnet из A-> B, затем сеансом SSH из B-> A и из B-> C и какой-то трубой, но все, что вы делаете, все равно будет передаваться в ясности с A-> B, так, зачем беспокоиться? – mkoistinen

+0

Сначала вы берете курицу в лодку, потому что лиса не будет есть корм для курицы. Затем вы оставите курицу и вернитесь к лисе. Как только у вас есть лиса и цыпленок с другой стороны, вы схватите цыпленка и отведите его обратно к первоначальной стороне реки. Вы оставляете курицу, но принимайте курицу. Затем вы используете свою последнюю поездку, чтобы вернуться и получить цыпленка. – synthesizerpatel

ответ

0

Если вы можете запускать программы на B, вы можете использовать что-то вроде simpleproxy, чтобы перенаправить соединение TCP на C.

Затем вы SSH от А до какого-то порта на B (не 22), который направит ваше соединение C. Все будет по-прежнему зашифровано, поскольку сеанс SSH равен A < -> C.

+0

Я попробую. благодаря! – ylc

+0

Я пытался выяснить это на некоторое время, и это сработало в конце концов! Это кратким и нет необходимости раскрывать мою учетную запись на A! – ylc

0

ок телнет б вы можете SSH к себе на б, но следующая команда не может работать, но попробуйте сначала

ssh -L0.0.0.0:2200:192.68.0.3:22 127.0.0.1 ... если SSHD не работает на б ... то SSH к с

ssh -L0.0.0.0:2200:192.68.0.3:22 192.68.0.3

сделать

netstat -an | grep 2200 - Делайте это на б (192.68.0.2)

Если netstat имеет 127.0.0.1 прослушивание на 2200, а не 0.0.0.0, этот трюк не будет работать ... но если это произойдет ... вы можете подключиться к ssh на порте 2200 до b, и он нажмет c

ssh 192.68.0.2:2200

я у вас SSH на локальный на б, потому что я не могу вспомнить команду, чтобы не порождать оболочку, и им слишком ленив, чтобы посмотреть его ... но если решение выше не работает, вы не сможете перенаправить порты с ssh без root, вам придется изменить файл конфигурации на b

вам необходимо добавить GatewayPorts yes к s SHD конфигурационный файл в/и т.д./Sshd/CONF/sshd_config

http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch09_02.htm - это говорит все о переадресации портов с SSH

+0

Итак, если я получил это, то это не удалось? % netstat -an | grep 2200 и приводит к **. 2200 *. * 0 0 24576 0 LISTEN – ylc

+0

i dunno, * .2200 немного путается ... попробуйте подключиться к 'b' с ssh на этом порту 2200 ... – Ryan

+0

Я бы подумал, что он правильно слушает, но вы не знаете, пока не попробуете :) – Ryan

Смежные вопросы