SSH туннелирование через сервер Telnet - PullRequest
0 голосов
/ 18 февраля 2012

Предположим, что сеть имеет вид:

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

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

ок, telnet to b, вы можете использовать ssh для себя на b, но следующая команда может не сработать, но сначала попробуйте

ssh -L0.0.0.0:2200:192.68.0.3:22 127.0.0.1 ... если sshd не работает на b ... thenssh to c

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

do a

netstat -an | grep 2200 - Сделайте это на b (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 к localhost на b, потому что я не могу вспомнить команду не создавать оболочку и мне лень ее искать ... но если приведенное выше решение не работает, вы не сможете перенаправитьпорты с ssh без рута, вам нужно изменить файл конфигурации на b

, вам нужно будет добавить GatewayPorts yes в файл конфигурации sshd в / etc / sshd / conf / sshd_config

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

0 голосов
/ 18 февраля 2012

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

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

...