1

Я пытаюсь получить доступ к своему рабочему компьютеру (серверу C) через vnc. У меня есть root на этой машине. Я не могу получить к нему доступ напрямую, поэтому мне нужно пройти через сервер B. Я сделал следующие шаги.

Сначала на моей локальной машине я бегу

ssh -L 5900: серверC: 5900 пользователь @ серверB

а затем на сервере С я побежал

x11vnc -safer -localhost -nopw -once -display:0

Однако когда я тогда делаю

vinagre localhost::5900

на моей локальной машине он говорит, что не может подключиться.

И моя локальная машина, и serverC работают под управлением Ubuntu. serverB работает под CentOS, и у меня нет root на нем.

Что я делаю неправильно?

Если ничего, каков хороший способ диагностировать проблему? Есть ли какой-нибудь способ узнать, отключена ли пересылка портов на сервере В? Есть ли способ сделать переадресацию портов в пространстве пользователя?

2 ответа2

1

Посмотрите на вариант № 2 в принятом ответе на этот связанный вопрос SuperUser: туннель SSH через несколько переходов

Вариант № 1, вероятно, не будет работать для вас, если вы не можете отправлять прямой трафик с сервера B на сервер C вне соединения ssh.

Вариант № 3 не будет работать для вас, потому что он предполагает, что вы можете установить ssh-соединение напрямую с сервером C.

0

Это работает, хотя это немного сложно.

ssh -v -L 1200:serverC:22 user@serverB
ssh -v -L 5900:127.0.0.1:5900 -p 1200 user_from_serverC@127.0.0.1
x11vnc -safer -localhost -nopw -once -display :0
vinagre localhost::5900

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .