5

Я пытаюсь настроить ssh-туннелированное соединение vnc с моего компьютера centos 5.10, и я следую некоторым онлайн-учебникам, таким как этот: https://wiki.archlinux.org/index.php/Vncserver. Я запускаю сервер следующим образом: $ vncserver -geometry 1024x768 -localhost :1 и подключаюсь к клиенту openssh следующим образом: ssh -f me@vnc.machine -L 5900:vnc.machine:5901 -N . Затем я подключаюсь к realvnc viewer к localhost: 5900. По какой-то причине это не работает, если я использую параметр -localhost, но отлично работает, если я пропущу его. Все руководства говорят, что это более безопасно использовать. Я думаю, что это может быть проблема конфигурации на стороне сервера, но я в значительной степени озадачен на этом этапе, и я много чего перепробовал. Кто-нибудь может сказать мне, почему это происходит?

2 ответа2

9

Опция -localhost серверу VNC подключаться только к интерфейсу обратной связи, чтобы вы могли подключаться к серверу VNC только с компьютера, на котором он работает. Это означает, что любой, пытающийся проникнуть в ваш сеанс VNC, должен иметь возможность войти на эту конкретную машину. Без -localhost ваш VNC-сервер будет принимать нелокальные соединения, поэтому злоумышленник может использовать другую машину, чтобы попытаться проникнуть в ваш VNC-сеанс.

Если вы собираетесь использовать -localhost , то вы должны передать -L 5900:localhost:5901 , а не -L 5900:vnc.machine:5901 , так как ваш VNC-сервер прослушивает только по интерфейсу обратной связи (localhost).

1

jjlin охватывает устранение неполадок, но чтобы действительно обеспечить его безопасность, вы также должны передать -nolisten tcp в vncserver . Это гарантирует, что не будет открытого слушателя TCP на стороне X вещей.

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