1

В настоящее время у меня есть три машины (все работают под Linux):

  • FirewalledMachine - машина, которую я хочу просмотреть. Всегда включен.
  • Сервер - иметь полный контроль над переадресацией портов. Всегда доступен.
  • HomeMachine - машина, на которой я хочу просмотреть FirewalledMachine.

Прямо сейчас у меня есть FirewalledMachine, поддерживающий сеанс обратной SSH с сервером. Т.е. FirewalledMachine постоянно проверяет, существует ли обратный сеанс SSH, и открывает его, если его нет:

ssh -N -f -R 0.0.0.0:2210:localhost:22 user@Server

Итак, прямо сейчас я всегда могу использовать SSH в FirewalledMachine из HomeMachine, используя:

ssh -p 2210 user@Server

Как я могу просмотреть отображение:0 на FirewalledMachine от HomeMachine? Похоже, я мог бы использовать ssvnc для этого, но я не совсем уверен, как.

1 ответ1

0

Я собираюсь предположить несколько вещей:

  • Что сервер SSH, к которому вы подключаетесь (FirewalledMachine), разрешает туннелирование SSH.
  • То, что служба VNC работает вообще (на FirewalledMachine).
  • Этот localhost хост правильно отображается на обеих машинах.

Порты VNC начинаются с 5900 для отображения 0 и идут оттуда. Поэтому создайте туннель SSH во время соединения, изменив свою команду SSH на стороне клиента с:

$ ssh -p 2210 user@server

чтобы:

$ ssh -L 5900:localhost:5900 -p 2210 user@server

(Первый 5900 - это туннель, который будет виден на стороне клиента. Вторая часть, localhost:5900 , - это адрес и порт, к которому подключены данные, поступающие через туннель, относительно серверной части.)

Теперь удаленный порт VNC сопоставлен с соответствующим локальным портом, поэтому вы можете подключить VNC следующим образом:

$ vncviewer localhost:0

(VNC использует идентификаторы отображения X, а не номера портов. Дисплей 0 обычно отображается на порт 5900, хотя можно настроить сервер на использование другого начального порта.)

Попытка использовать 5900 локально может быть проблемой, если у вас уже есть используемый порт, например, из-за вашей локальной системы X Windows. Если это так, вы можете получить лучшие результаты, переключившись на другой локальный порт, например:

$ ssh -L 5910:localhost:5900 -p 2210 user@server
$ vncviewer localhost:10

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