Ubuntu Server работает под управлением VNC

У меня есть доступ к четырем компьютерам:
1 рабочий стол Ubuntu Server (версия 10.04)
1 Mac Mini (снежный барс)
1 рабочий стол Windows (Windows 7)
1 ноутбук с Windows (Windows Vista)

Первые три всегда будут в домашней сети. Моя цель - подключить SSH с ноутбука к серверу и через VNC (или другое программное обеспечение для удаленного рабочего стола) управлять компьютерами Windows и Mac. Целью этого было бы немного повысить безопасность сети по сравнению с использованием VNC для прямого доступа к рабочему столу Mac или Windows.

Я успешно использовал SSH для подключения к серверу, но не смог успешно реализовать подключение к удаленному рабочему столу. Я был бы признателен за помощь в этом. Вот что я сделал до сих пор:

В соответствии с инструкциями здесь: http://www.stuartellis.eu/articles/vnc-on-linux/ я установил следующее:

  • vnc4server - основное программное обеспечение VNC-сервера
  • vnc-java - разрешает доступ из веб-браузеров с поддержкой Java
  • xvnc4viewer - базовый просмотрщик VNC

Затем я установил пароль с помощью команды vncpasswd. Чтобы попытаться подключиться к Mac, я следовал инструкциям, которые я нашел в теме на superuser. com и перешел в "Системные настройки> Общий доступ" и включил "Общий доступ к экрану".

Впоследствии я попытался ввести следующие команды в Ubuntu:
vncviewer mac_ip_address:: 5904 vncviewer mac_ip_address: 0 vncviewer mac_ip_address:1

Все они вернули следующее:
VNC Viewer Free Edition 4.1.1 для X - построен 9 апреля 2010 18:41:55
Copyright (C) 2002-2005 RealVNC Ltd.
Смотрите http://www .realvnc. com для информации о VNC.
vncviewer: невозможно открыть дисплей ""

Я уверен, что упускаю что-то важное, но я не уверен, что это такое. Нужно ли устанавливать графический интерфейс или он поставляется с установленными пакетами vnc?

2 ответа

Я бы посоветовал лучше использовать встроенную функциональность в ssh для туннелирования / переноса некоторых локальных портов через ваш ssh-клиент на хост назначения, а также использовать rdp на окнах и vnc на mac.

Для хоста linux, если вам нужен графический доступ к нему, я бы не предложил никакой машины (NX).

Я немного запутался в вашем процессе. Вы подключаетесь к системе Ubuntu через SSH, а затем набираете vncserver на сервере ubuntu, на котором находитесь ssh'd?

Если это так, то, как следует из сообщения об ошибке, сеанс командной строки SSH не может открыть графический интерфейс для отображения вашего подключения vnc. Я считаю, что вам нужно будет использовать клиент VNC на вашем ноутбуке, чтобы подключиться к компьютерам с Windows или Mac.

Я предполагаю, что три домашних компьютера находятся за маршрутизатором или брандмауэром или чем-то еще, и вы просто открыли ssh для вашей системы Ubuntu.

Как сказал fenix, вы можете использовать переадресацию портов ssh, чтобы заставить один из портов в системе Ubuntu вести себя так же, как если бы это был порт в системах Mac или Windows (Ubuntu должен иметь доступ к портам). Вы должны будете перенаправить другой порт в маршрутизаторе, чтобы он указывал на Ubuntu, чтобы вы могли использовать его для VNC. Как только вы настроите туннель, VNCing к Ubuntu на порте, который вы настроите, соединит вас с любой машиной, которую вы указали в туннеле ssh.

Вы можете просто напрямую перенаправить порты в маршрутизаторе или брандмауэре, чтобы они указывали на серверы, а затем напрямую подключаться к серверам с помощью vnc через Интернет... но это обычно считается огромной угрозой безопасности.

Дайте мне знать, если какое-либо из моих предположений о том, что вы пытаетесь сделать, было неверным.

Изменить: так что у вас есть сервер Ubuntu, Mac Mini и Windows за маршрутизатором. У вас есть SSH доступ к серверу Ubuntu.

Теперь с вашего ноутбука, снаружи вашей внутренней сети, откройте замазку. Введите всю информацию для сеанса (имя хоста и т. Д.). На левой стороне прокрутите вниз к Соединению -> SSH -> Туннели

установите порт источника на какой-то порт, который, вероятно, не используется (например, 5000). Установите пункт назначения для любой системы на удаленной стороне, к которой вы хотите подключиться (внутренний IP и порт). Например, localhost:5900 даст вам доступ vnc к вашему серверу Ubuntu, который обслуживает ssh. Следующий ряд переключателей должен быть установлен на "local", а следующий ряд на "auto". Теперь нажмите "добавить", а затем "открыть".

С этими настройками на вашем ноутбуке, у вас есть открытый туннель от вашего ноутбука через порт 5000 до удаленного компьютера через порт 5900 (порт vnc). Теперь на вашем ноутбуке вы сможете открыть vnc-соединение с "localhost:5000" (петля вашего ноутбука на порту 5000), и он должен подключить вас к сеансу Ubuntu vnc.

Напомним, что на вашем ssh-сервере вы запускаете такую ​​программу, как fail2ban или denyhosts, чтобы вы не получили хакерскую атаку.

Другие вопросы по тегам