Это может быть достигнуто с vino vnc server & remmina (оба поставляются по умолчанию с ubuntu; если не установить его при запуске sudo apt-get install remmina). Затем запустите следующие команды с локального компьютера в окне терминала:
ssh -Y gman@remote, Используйте надежную пересылку X11, иначе она не будет работать
vino-preferences, Это откроет vino-предпочтения.
Также нажмите configure network automatically to accept connection. Но не вводите пароль, его base64 закодировано . Затем нажмите закрыть. Затем запустите:
Под basicвкладкой укажите адрес сервера в serverполе.
На вкладке ssh нажмите enable ssh tunnel. Под ssh authentication, это может быть passwordили public key:
Нажмите сохранить. А затем дважды щелкните имя соединения (домашний рабочий стол, как показано на рисунке), чтобы начать просмотр удаленного рабочего стола.
Способ 2:
x11vncэто простой VNC-сервер, и вам не придется возиться с настройками Gnome или 500 брандмауэрами, просто установите его x11vncна все ваши компьютеры (с марионетками или с тем, что вы используете для массового контроля).
Очевидно, подмена user@hostимени пользователя и имени хоста / IP удаленного компьютера.
А затем используйте VNC-клиент по вашему выбору для подключения localhost:5900. Команда SSH запускает сервер vnc на удаленном компьютере, а затем туннелирует этот порт через SSH. Вам не нужно открывать какие-либо порты (если вы уже можете SSH).
Если на ваших компьютерах установлены забавные настройки отображения, вам лучше оставить этот -display :0сегмент в команде SSH. x11vncЗатем автоматически попытается найти правильный дисплей.
Если вы используете vncviewer с медленным ssh-соединением, ваша команда должна выглядеть следующим образом vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0(в Debian / Ubuntu средство просмотра - от узла tailvnc) или vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0(в Red Hat / Fedora средство просмотра - от tigervnc), где уровень качества как в Debian, так и в Redhat равен между 0 и 9, где 9 лучше, но требуется быстрое соединение.
Эрик
@erik Спасибо за объяснение, как использовать его vncviewerдля медленного соединения. Я лично, вероятно, поставлю, QualityLevel=4 or 5потому что 0 qualitylevel(что 256 colors, я думаю) слишком скучно для меня.
Хуршид Алам
1
Ваш «Метод 2» идеально подходит для быстрого доступа к физическому дисплею удаленно без каких-либо специальных постоянных настроек. Мне нужно было добавить параметр -auth, как описано в сообщении об ошибке, когда я выполнил команду, но в остальном работает отлично. Благодарность!
Пьер
@gerky метод 3 будет NoMachine, в настоящее время самый быстрый и бесплатный (несмотря на то, что не с открытым исходным кодом), а также работает на Android
Aquarius Power
1
Для метода 2 мне пришлось использовать -auth guessи запустить его как root. Очень полезно, спасибо!
Боб Карлсон
9
Обзор решения
Предполагая, что вы уже настроили OpenSSH Serverна своем хост-компьютере, вы должны сначала включить управление рабочим столом на вашем хост-компьютере. Если вы можете сначала включить управление рабочим столом на своем хост-компьютере локально, перейдите к 1a. Если вы сначала должны включить удаленное управление настольным компьютером на хост-компьютере, перейдите к 1b.
Затем создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере, чтобы подключиться к хост-компьютеру через туннель SSH и в конечном итоге просматривать и контролировать рабочий стол хост-компьютера через туннель SSH.
1a. Локально включить удаленное управление хост-машиной
Выполните следующие действия на хост-компьютере:
vino-preferences
vino-preferences также в Dash под Desktop Sharing
ТИК Allow other users to view your desktop
ТИК Allow other users to control your desktop
ТИК Require the user to enter this password
Введите трудно угаданную фразу-пароль
близко
1б. Удаленно включить удаленное управление хост-машиной
Выполните следующие действия на клиентском компьютере, заменив 123.123.12.3его IP-адресом хост-компьютера:
ssh -Y 123.123.12.3
-Y, включает доверенную пересылку X11. Доверенные пересылки X11 не подвергаются элементам управления расширением X11 SECURITY.
vino-preferences
vino-preferences также в Dash под Desktop Sharing
ТИК Allow other users to view your desktop
ТИК Allow other users to control your desktop
ТИК Require the user to enter this password
Введите трудно угаданную фразу-пароль
близко
Создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере
Выполните следующие действия на клиентском компьютере:
remmina
Реммина также в Dash под Remmina Remote Desktop Client
Ctrl+ Nили Соединение> Новый
Введите свой IP-адрес [123.123.12.3], где написано Server
Переключиться на SSHвкладку
ТИК Enable SSH Tunnel
Направьте ваш Desktop Client на ваш нестандартный порт SSH
Установите свой SSH Authentication<username>и режим
Connect
Просмотр и управление хост-машиной
На клиентском компьютере при запросе <username>пароля введите его для создания туннеля SSH. Когда вас попросят ввести пароль VNC, введите фразу-пароль, которую вы ранее ввели в хост-машину.
В случае успеха на этом этапе вы должны теперь просматривать рабочий стол хост-машины и управлять им с клиентского компьютера через туннель SSH.
Это кажется довольно полным, но где на хосте определен пользовательский порт 12345?
Джон Т
Я предполагаю, что вам нужно запустить команду ssh с клиента где-нибудь, что-то вроде: ssh -L 12345: localhost: 5900 user @ server_ip перед использованием удаленного клиента, как описано.
Джон Т
3
Я смог установить новую установку Ubuntu 16.04 из удаленного ssh-соединения с помощью следующего скрипта:
Цитирование важно для любых настроек строки (одиночные галочки внутри кавычек). Чтобы dconf мог писать, ему нужен доступ к XWindows, поэтому необходима часть экспорта DISPLAY. Я думаю, что вам все равно нужно войти в систему на рабочем столе на фактической машине Ubuntu, чтобы соединиться с VNC после этого. Команда dump предназначена для подтверждения того, что все настройки вступили в силу, вам это не нужно.
При желании вы можете сделать это, если хотите постоянно держать дисплей включенным:
Используйте Xnestс X11 forwording для удаленного запуска сеанса и перенаправления его на ваш текущий компьютер. (Я делаю это время от времени с моей страницей Пи)
Как запустить сервер Vino удаленно, без переадресации X (только для командной строки)
Войдите в систему на удаленном компьютере как пользователь, который поделится своим рабочим столом и перенаправит порт 5900 на тот же порт на локальном хосте. С помощью PuTTY перенаправление устанавливается в Connection / SSH / Tunnels. С командной строкой используйте:
ssh -L 5900:localhost:5900 user@remote-computer
Установите, vino-serverесли он еще не установлен. Например:
sudo apt install vino
Включить общий доступ к рабочему столу (в соответствии с номером дисплея в 1-й и 2-й строках):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
Запустите средство просмотра VNC и подключитесь к нему localhostдля адреса сервера VNC.
Получил следующее. Похоже, все это предполагает, что вы уже вошли в консоль с графическим интерфейсом? No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
Водоросль
0
на основе ответа @Khurshid Alam я представляю следующий фрагмент:
Откройте «Vino-Preferences» из терминала или «Desktop Sharing», используя тире.
На клиентском ПК (откуда вы хотите управлять пользовательским интерфейсом сервера).
Сохраните настройки, как показано на изображениях ниже (с изменениями в месте имени пользователя и IP).
Ловушки.
Когда я попытался установить vino-предпочтения на сервере с удаленного ПК, используя SSH, он изменился, но соединение не произошло. Я должен был сделать это непосредственно на сервере (а не удаленно). Я не знаю причину такого поведения.
Ответы:
Способ 1:
Это может быть достигнуто с vino vnc server & remmina (оба поставляются по умолчанию с ubuntu; если не установить его при запуске
sudo apt-get install remmina
). Затем запустите следующие команды с локального компьютера в окне терминала:ssh -Y gman@remote
, Используйте надежную пересылку X11, иначе она не будет работатьvino-preferences
, Это откроет vino-предпочтения.Также нажмите
configure network automatically to accept connection
. Но не вводите пароль, его base64 закодировано . Затем нажмите закрыть. Затем запустите:Это запустит сервер vino.
Выйти с сервера:
Тогда открой Реммина . Выбирай
vnc
по протоколу.Под
basic
вкладкой укажите адрес сервера вserver
поле.На вкладке ssh нажмите
enable ssh tunnel
. Подssh authentication
, это может бытьpassword
илиpublic key
:Нажмите сохранить. А затем дважды щелкните имя соединения (домашний рабочий стол, как показано на рисунке), чтобы начать просмотр удаленного рабочего стола.
Способ 2:
x11vnc
это простой VNC-сервер, и вам не придется возиться с настройками Gnome или 500 брандмауэрами, просто установите егоx11vnc
на все ваши компьютеры (с марионетками или с тем, что вы используете для массового контроля).Затем с вашего локального компьютера запустите:
Очевидно, подмена
user@host
имени пользователя и имени хоста / IP удаленного компьютера.А затем используйте VNC-клиент по вашему выбору для подключения
localhost:5900
. Команда SSH запускает сервер vnc на удаленном компьютере, а затем туннелирует этот порт через SSH. Вам не нужно открывать какие-либо порты (если вы уже можете SSH).Если на ваших компьютерах установлены забавные настройки отображения, вам лучше оставить этот
-display :0
сегмент в команде SSH.x11vnc
Затем автоматически попытается найти правильный дисплей.Источник: аскубунту
источник
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0
(в Debian / Ubuntu средство просмотра - от узла tailvnc) илиvncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0
(в Red Hat / Fedora средство просмотра - от tigervnc), где уровень качества как в Debian, так и в Redhat равен между 0 и 9, где 9 лучше, но требуется быстрое соединение.vncviewer
для медленного соединения. Я лично, вероятно, поставлю,QualityLevel=4 or 5
потому что0 qualitylevel
(что256 colors
, я думаю) слишком скучно для меня.-auth guess
и запустить его как root. Очень полезно, спасибо!Обзор решения
Предполагая, что вы уже настроили
OpenSSH Server
на своем хост-компьютере, вы должны сначала включить управление рабочим столом на вашем хост-компьютере. Если вы можете сначала включить управление рабочим столом на своем хост-компьютере локально, перейдите к 1a. Если вы сначала должны включить удаленное управление настольным компьютером на хост-компьютере, перейдите к 1b.Затем создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере, чтобы подключиться к хост-компьютеру через туннель SSH и в конечном итоге просматривать и контролировать рабочий стол хост-компьютера через туннель SSH.
1a. Локально включить удаленное управление хост-машиной
Выполните следующие действия на хост-компьютере:
vino-preferences
также в Dash подDesktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
1б. Удаленно включить удаленное управление хост-машиной
Выполните следующие действия на клиентском компьютере, заменив
123.123.12.3
его IP-адресом хост-компьютера:vino-preferences
также в Dash подDesktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере
Выполните следующие действия на клиентском компьютере:
Remmina Remote Desktop Client
Ctrl+ Nили Соединение> Новый
Server
SSH
вкладкуEnable SSH Tunnel
SSH Authentication
<username>
и режимПросмотр и управление хост-машиной
На клиентском компьютере при запросе
<username>
пароля введите его для создания туннеля SSH. Когда вас попросят ввести пароль VNC, введите фразу-пароль, которую вы ранее ввели в хост-машину.В случае успеха на этом этапе вы должны теперь просматривать рабочий стол хост-машины и управлять им с клиентского компьютера через туннель SSH.
источник
Я смог установить новую установку Ubuntu 16.04 из удаленного ssh-соединения с помощью следующего скрипта:
Цитирование важно для любых настроек строки (одиночные галочки внутри кавычек). Чтобы dconf мог писать, ему нужен доступ к XWindows, поэтому необходима часть экспорта DISPLAY. Я думаю, что вам все равно нужно войти в систему на рабочем столе на фактической машине Ubuntu, чтобы соединиться с VNC после этого. Команда dump предназначена для подтверждения того, что все настройки вступили в силу, вам это не нужно.
При желании вы можете сделать это, если хотите постоянно держать дисплей включенным:
источник
Xnest
с X11 forwording для удаленного запуска сеанса и перенаправления его на ваш текущий компьютер. (Я делаю это время от времени с моей страницей Пи)Я использую
Xnest
так:Xnest :1 -ac &
DISPLAY=:1 . /etc/X11/Xsession
источник
Как запустить сервер Vino удаленно, без переадресации X (только для командной строки)
Войдите в систему на удаленном компьютере как пользователь, который поделится своим рабочим столом и перенаправит порт 5900 на тот же порт на локальном хосте. С помощью PuTTY перенаправление устанавливается в Connection / SSH / Tunnels. С командной строкой используйте:
Установите,
vino-server
если он еще не установлен. Например:Включить общий доступ к рабочему столу (в соответствии с номером дисплея в 1-й и 2-й строках):
Запустите средство просмотра VNC и подключитесь к нему
localhost
для адреса сервера VNC.источник
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
на основе ответа @Khurshid Alam я представляю следующий фрагмент:
ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost
Это одна команда, которая не требует какого-либо взаимодействия
Он создает туннель SSH с переадресацией портов, запускается
x11vnc
достаточно безопасным способом, запускает и подключает средство просмотра VNCТребуется x11vnc на целевом хосте, но без дальнейшей настройки
источник
На сервере ПК.
На клиентском ПК (откуда вы хотите управлять пользовательским интерфейсом сервера).
Ловушки.
источник