Как настроить удаленный доступ к рабочему столу через SSH?

Я искал какое-то решение для себя какое-то время, и использовал множество советов и трюков. Я, наконец, нашел решение, которое работает для меня, и решил создать прогулку новичков. Потерпите меня, это также для тех, кто менее способен программировать в Linux, чем многие из вас, как и я,

Нажмите значок запуска в верхнем левом слайде (Dash Home), введите «gedit» ', и нажмите enter.

Теперь вы создадите скрипт, который будет переключаться через wifi;

Я использовал ярлык сетевого менеджера; nmcli nm wifi, чтобы определить состояние wifi, а также контролировать его. Я использовал сценарий уведомления, приведенный в приведенном выше примере, для отображения состояния wifi. Вот мой скрипт:

#!/bin/bash

if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
    nmcli nm wifi on
    notify-send -i network-wireless-full "Wireless enabled" "Your   wireless adaptor has been enabled."
else
    nmcli nm wifi off
    notify-send -i network-wireless-disconnected "Wireless disabled"    "Your wireless adaptor has been disabled."
fi

Скопируйте и вставьте его в редактор, который вы только что открыли, и сохраните его как любое имя файла, которое вам подходит (мой был wifitoggle).

Следующий шаг должен был сделать исполняемый файл (в Домашней папке, щелкните правой кнопкой мыши ваш файл, свойства, вкладку разрешений, отметьте флажок «Запустить как исполняемый файл»).

Затем поместите копию в файловую систему / usr / bin (открыть терминал, введите sudo nautilus). Перейдите к файловой системе, затем usr, затем откройте bin. Вставьте y).

Наконец, перейдите на вкладку «Настройки системы» -> «Клавиатура» -> «Ярлыки»; нажмите маленькую + кнопку внизу, заполните имя для вашего переключения и заполните имя файла для сценария, который вы дали (в моем случае wifitoggle). Нажмите «Применить» и щелкните по тексту «diabled» справа от него, а затем нажмите горячие клавиши. СДЕЛАНО!

1
задан 16 February 2014 в 11:12

5 ответов

Обзор решения

Предполагая, что вы уже установили OpenSSH Server на своем хост-компьютере, вы должны сначала включить управление рабочим столом на своем хост-компьютере. Если вы можете сначала включить управление рабочим столом на хост-машине, перейдите к пункту 1а. Если вы должны сначала включить управление рабочим столом на хост-машине удаленно, перейдите к 1b.

Затем создайте профиль клиента удаленного рабочего стола на своей клиентской машине, чтобы подключиться к хост-машине через туннель SSH и в конечном итоге просмотреть и управлять рабочим столом хост-машины через туннель SSH.

1a. Локально Включить удаленное управление хост-машиной

Выполните следующее на главной машине:

vino-preferences
vino-preferences также в тире под Desktop Sharing

[ ! d7] Отметить Allow other users to view your desktop Отметить Allow other users to control your desktop Отметить Require the user to enter this password Ввести сложную догадки кодовую фразу Закрыть

1b. Удаленное управление удаленным управлением хост-компьютера

Выполните следующие действия на клиентской машине, заменив 123.123.12.3 на IP-адрес вашего хост-компьютера:

ssh -Y 123.123.12.3
vino-preferences также в Dash под Desktop Sharing

vino-preferences
vino-preferences также в тире внизу Desktop Sharing

enter image description here [!d8 ]

Отметить Allow other users to view your desktop Отметить Allow other users to control your desktop Отметить Allow other users to control your desktop Ввести сложную угадать кодовую фразу Отметить Require the user to enter this password [!d12 ]

Создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере

Сделайте следующее на клиентской машине:

remmina
vino-preferences также в Allow other users to control your desktop Переключить вкладка SSH

enter image description here [!d38]

Переключиться на вкладку SSH Введите сложную угадывающую кодовую фразу [ ! d28] Установите SSH Authentication <username> и режим Введите сложную угадающую кодовую фразу

Просмотр и управление хост-машиной

На клиентской машине, когда его спросили <username> , введите его, чтобы создать туннель SSH. При запросе пароля VNC введите парольную фразу, которую вы ранее ввели на хост-машину.

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

6
ответ дан 24 May 2018 в 21:26
  • 1
    Это кажется довольно полным, но где же пользовательский порт 12345, определенный на хосте? – John T 26 June 2015 в 13:08
  • 2
    Я предполагаю, что вам нужно выполнить команду ssh от клиента где-то, например: ssh -L 12345: localhost: 5900 user @ server_ip перед использованием удаленного клиента, как описано. – John T 26 June 2015 в 13:19
Вы можете использовать ssh для запуска сеанса vnc. Используйте Xnest с X11 для того, чтобы удаленно запустить сеанс и перенаправить его на текущий компьютер. (Я делаю это время от времени с моей pi) man page

Я использую Xnest следующим образом:

Xnest :1 -ac &, затем DISPLAY=:1 . /etc/X11/Xsession
2
ответ дан 24 May 2018 в 21:26

Я смог установить новую установку Ubuntu 16.04 из удаленного ssh-соединения со следующим скриптом:

#!/bin/bash export DISPLAY=:0 read -e -p "VNC Password: " -i "ubuntu" password dconf write /org/gnome/desktop/remote-access/enabled true dconf write /org/gnome/desktop/remote-access/prompt-enabled false dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']" dconf write /org/gnome/desktop/remote-access/require-encryption false dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\" dconf dump /org/gnome/desktop/remote-access/ sudo service lightdm restart

Цитирование важно для любой из строковых настроек (одиночные тики внутри кавычек). Для того чтобы dconf мог писать, ему нужен доступ к XWindows, поэтому требуется часть экспорта DISPLAY. Я думаю, вам все равно нужно войти на рабочий стол на самом компьютере Ubuntu для подключения к VNC после этого. Команда dump находится там, чтобы подтвердить, что все настройки взяты, вам это действительно не нужно.

Возможно, вы захотите сделать это, если хотите постоянно отображать отображение:

dconf write /org/gnome/desktop/screensaver/lock-enabled false dconf write /org/gnome/desktop/screensaver/ubuntu-lock-on-suspend false dconf write /org/gnome/desktop/session/idle-delay "uint32 0"
1
ответ дан 24 May 2018 в 21:26

Как запустить сервер 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.

0
ответ дан 24 May 2018 в 21:26

на основе ответа @Khurshid Alam Представляю следующий фрагмент:

ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost

Это одна команда, которая не требует никакого взаимодействия. Создает туннель SSH с пересылкой портов , запускает x11vnc достаточно безопасным способом и запускает и подключает средство просмотра VNC. Он требует x11vnc на целевом хосте, но никакой дополнительной конфигурации. Он требует vinagre на вашем ПК, но вы можете тривиально изменить его для другого средства просмотра VNC
0
ответ дан 24 May 2018 в 21:26

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

Похожие вопросы: