Tunelling VNC через два SSH-хмеля

Я долго искал решение для туннелирования к машине за брандмауэром, пропуская VNC (или другие порты) через. Как объяснено в этом старом посте usenet, который я повторю здесь:

Я должен войти через промежуточную машину, что-то вроде:

local $ ssh interim
interim $ ssh remote
remote $ ...any commands...

Это отлично работает. Но сейчас я пытаюсь туннелировать сеанс vnc от удаленного к локальному и не могу найти магическое заклинание, используя один или два шага.

1 ответ

Решение

Недавно я нашел удивительно простое и адаптируемое решение: просто подключите ssh к целевой системе через соединение с брандмауэром. Вроде такой:

local $ ssh -L 2222:remote:22 interim
interim $ ...no need to do anything here...

В другой локальной консоли вы подключаетесь к localhost через порт 2222, который фактически является вашим удаленным адресатом:

local $ ssh -C -p 2222 -L 5900:localhost:5900 localhost
remote $ ...possibly start you VNC server here...

В еще одной локальной консоли:

local $ xtightvncviewer :0

Это так просто. Вы можете добавить любую переадресацию портов, которую хотите, во 2-ю команду (-L localport:localhost:remoteport) как если бы не было промежуточного межсетевого экрана. Например, для RDP: -L 3389:localhost:3389

Другие вопросы по тегам