Туннелирование через SSH для использования VNC через шлюз

Туннелирование через SSH для использования VNC через шлюз

Кто-нибудь может подсказать мне в этой ситуации? У меня есть настольный компьютер (работающий на Ubuntu) в моей компании. У компании есть шлюз vpn, который помогает мне подключать мой настольный компьютер через ssh. Теперь я хочу удаленно управлять своим настольным компьютером дома с помощью VNC. Я уже установил xtightvncserver, и он уже запущен на моем настольном компьютере.

Как мне создать ssh-туннель между my-laptop и company-gw для использования vnc-client? Буду признателен за подробную информацию. Я хотел бы назвать свои компьютеры следующим образом.

company-pc - настольный компьютер на работе (vnc-сервер)

company-gw - vpn-шлюз в компании (на котором работает сервер openssh)

my-laptop - мой домашний ноутбук (клиент vnc)

решение1

Насколько я понял ваш вопрос, вы не можете подключиться с company-pc или company-gw к my-laptop, но вы можете подключиться с my-laptop к company-gw, и с company-pc к company-gw. Это верно? Я не знаю, о каком desktop-computer вы говорите.

Если на моем ноутбуке запущен sshd, попробуйте следующее:

С моего ноутбука, когда ты еще дома:

ssh -R 8022:localhost:22 myusername@company-gw

После входа в систему соединения, сделанные (откуда угодно) на порт 8022 на company-gw, будут перенаправлены на порт 22 на my-laptop. Оставайтесь в системе, когда идете на работу.

На работе, с корпоративного ПК:

ssh -L 5900:localhost:5900 -p 8022 myhomeusername@company-gw

На самом деле, когда вы это делаете, вы подключаетесь по ssh к my-laptop, поскольку порт 8022 на company-gw перенаправляется на порт 22 на my-laptop. Теперь вы перенаправляете порт 5900 на company-pc на порт 5900 на my-laptop (поскольку «localhost» в этой команде — это то, что my-laptop назвал localhost).

Теперь vnc в localhost. Это подключается к порту 5900 на вашем собственном company-pc, который перенаправляется через company-gw на my-laptop.

Если какой-либо из перенаправленных портов используется, просто попробуйте другой номер (8023 вместо 8022, 5901 вместо первого 5900), пока не найдете свободный.

решение2

Вот еще один обходной путь на случай, если у сервера нет доступа или прав администратора для включения/запуска sshd или если у вас нет пары пользователь/пароль на моем ноутбуке.

На моем ноутбуке запустите это:

ssh -R 8022:localhost:5900 gw-user@company-gw

Таким образом, каждое обращение с company-gw:8022 будет перенаправлено на my-laptop:5900.

На корпоративном ПК:

ssh -L 5900:localhost:8022 gw-user@company-gw

gw-user может быть разным в командах; важно, чтобы порт 8022 был доступен с обоих концов.

Связанный контент