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