В этой статье я покажу вам, как можно получить удаленный доступ к компьютеру с Ubuntu. Имеется ввиду доступ к удаленному рабочему столу, т.к. с доступом к консоли все понятно, и наверное SSH особо в описании не нуждается.
Показывать я буду на примере vnc сервера и xrdp. Т.к. если планируете подключаться с компьютера Windows, VNC на нем скорее всего будет работать, мягко говоря не очень быстро, плюс к этому, нужно будет еще поставить VNC клиента на компьютер, а такая возможность есть далеко не всегда. Мы сделаем так, что можно будет подключаться к компьютеру 1) по чистому vnc протоколу, 2) можно будет подключаться по RDP, а уже из под RDP сессии подключаться по VNC к рабочему столу, это позволит не устанавливать дополнительно VNC клиент на компьютер с которого осуществляется подключение.
Требование к этой схеме одно – у вас должен быть белый IP, в идеале лучше использовать VPN или SSH туннель. Давайте начнем с установки VNC сервера на Ubuntu, я предпочитаю x11vnc. Для того что бы его установить нужно набрать в консоли:
sudo apt-get update sudo apt-get install x11vnc
После этого нужно создать пароль для авторизации:
x11vnc –storepasswd
Будет предложено ввести пароль, и указать, где размещать файл с паролем.
Далее сделаем что бы x11vnc запускался автоматически.
1) Если у вас система использует systemd (например ubuntu 15.04 и выше) нужно создать конфиг:
sudo nano /lib/systemd/system/x11vnc.service
[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5906 -shared [Install] WantedBy=multi-user.target
Само собой, за место /home/sanglyb должна быть ваша домашняя папка, или путь до файла который был указан при создании пароля, если он отличается.
После этого нужно выполнить команды:
sudo systemctl daemon-reload sudo systemctl enable x11vnc.service
2) Если у вас система использует upstart (например старые версии ubuntu до 15.04) нужно создать конфиг, лежать он должен в папке /etc/init/:
sudo nano /etc/init/x11vnc.conf
И нужно вписать в этот файл следующее содержимое:
start on login-session-start script /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5900 -shared end script
Аналогично примеру с systemd, замените путь до файла с паролем для vnc на ваш.
После чего можно запустить x11vnc сервис.
В первом случае:
sudo service x11vnc start
Во втором:
sudo start x11vnc
Либо можно перезгарузить компьютер, и при включении компьютера этот сервис будет запущен.
Далее можно попробовать подключиться к нашему компьютеру по vnc. Если все прошло удачно, и после перезагрузки компьютера vnc сервер будет запущен, можно переходить к следующему шагу – установке xrdp сервера.
Для его установки нужно набрать в терминале:
sudo apt-get install xrdp
После этого нужно поправить конфиг:
sudo nano /etc/xrdp/xrdp.ini
В нем уберем все пункты кроме globals и console (xrdp2) и изменить название с xrdp2 на xrdp1, то есть у вас должны остаться 2 секции:
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 [xrdp1] name=console lib=libvnc.so ip=127.0.0.1 port=5906 username=na password=ask
После чего нужно набрать команду
sudo /etc/init.d/xrdp restart
И можно подключаться. После входа по RDP будет окно аторизации, к которое нужно ввести пароль VNC.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.
Если вам помогла статья, вы можете >>отблагодарить автора<<
Комментарии
После выполнения всех действий получаю ошибку при попытке подключения по rdp
"VNC security level is 2 (1 = none 2 =standart)
VNC password filed"
при этом подключение через VNC работает.
В чем проблема, подскажите пожалуйста.
Вот, все получилось, спасибо. Дело было в том, что все действия я выполнял на версии 16.10 и получал ошибки. На версии 16.4 все работает. один момент, при подключении по RDP не на полный экран, разрешение то-же что и в консоли виртуалки. Может можно поправить? подскажите где?
Либо свойствах экрана консоли менять разрешение, либо масштабировать - добавить опцию в скрипт запуска -geometry 1280x720, но так не будет автоматического масштабирования, как при виндовом rdp, разрешение будет всегда именно тем какое указано, и картинка будет именно масштабирована под указанное разрешение, а не с измененным разрешением.
У меня проблема не могу подключится пишет broblem conectingвводил пароль от сервера ничего пароль который создавал в файлик и опять ничего
Подскажите, пожалуйста, если мышь водить в клиенте то в linux курсор отображается. А если наоборот, в linux пользователь водит мышью, то курсор в rdp клиенте не отображается. Есть ли способ отобразить?