LINUX.ORG.RU
ФорумAdmin

SSH tunneling


0

0

Есть следующая задача:
1) host1 находится за натом
2) host2 реал IP
3)host3 реал IP
Все может делаться только через ssh
Задача :
С host3 надо скачать файлы (напрямую, не скачивая их на host2) на host1(скорее всего через scp). Условие: С host1 можно зайти только на host2, с host2 на host3.Можно ли организовать некий туннель, учитывая что на host2 и host3 рутовских прав нет-т.е. права обычного юзера.

anonymous

> Условие: С host1 можно зайти только на host2, с host2 на host3.

значит ли это, что с host1 host3 вообще недостижим? Или невозможно зайти именно по ssh?

Есть ли на стороне host3 какой-нть порт, не закрытый firewall-ом? Если да, то очевидное решение -- прокачать через этот порт с помощью, например, nc.

phoenix ★★★★
()

Если я правильно понял задачу, то

user1@host1 % ssh user2@host2 -L nnnn:host3:22 -f -N

password: ********

user1@host1 % scp -P nnnn user3@localhost:/path/to/file .

nnnn -- любой свободный порт на host1

lodin ★★★★
()
Ответ на: комментарий от lodin

Да, еще хорошо бы добавить строку

NoHostAuthenticationForLocalhost=yes

в ~/.ssh/config

чтобы локалхост в known_hosts не болтался. Локальную машину все равно фиг подделаешь :D

более подробная информация по опциям -R, -L, -N и -f -- в man ssh.

lodin ★★★★
()
Ответ на: комментарий от lodin

Спасибо, все работает. ssh user2@host2 -L nnnn:host3:22 -f -N Я так понимаю что после захода на host2 - оно пробрасывает 22 порт с host3 на localhost 1-го хоста?

anonymous
()
Ответ на: комментарий от anonymous

Не, после захода на host2 порт host1:nnnn превращается в порт host3:22

lodin ★★★★
()

openvpn тебе в помощь

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.