Персональный сайт Федоренко Александра Суббота, 18.05.2024, 16:20
Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Мои статьи [17]
Linux [47]
Кулинария [13]
LINUX [33]
WINDOWS [11]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Статьи » Linux

Методы удаленного доступа к Linux GUI - 2

Удаленный доступ

 

RDP


На виртуальном сервере, в зависимости от OS нужно произвести следующие действия.

Debian:
 

$ apt-get install xrdp
$ systemctl enable xrdp
$ systemctl start xrdp


CentOS:
 

$ yum install epel-release
$ yum install xrdp tigervnc-server tigervnc-server-module
$ chcon -t bin_t /usr/sbin/xrdp
$ chcon -t bin_t /usr/sbin/xrdp-sesman
$ firewall-cmd --zone=public --add-port=3389/tcp --permanent
$ firewall-cmd --zone=public --add-port=3389/udp --permanent
$ firewall-cmd --reload
$ systemctl enable xrdp
$ systemctl start xrdp


XDMCP:
 

$ vi /etc/gdm/custom.conf

[security]
AllowRemoteRoot=true
DisallowTCP=false
 
[xdmcp]
Enable=true
MaxSessions=30


Далее, если вы используете Windows, подключаемся через встроенный RDP-клиент, Remote Desktop Connection (Подключение к удаленному рабочему столу).
 



Стандартный порт 3389. Для Linux есть масса клиентов которые можно установить из репозиториев: freerdp и remmina, gnome-rdp, vinagre и т.п.

Для Mac OS

Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:
 

$ vi /etc/xrdp/xrdp.ini


В секцию [globals] нужно добавить строку: address=127.0.0.1
 

$ systemctl restart xrdp


Проверить, что всё правильно, можно так:
 

$ nmap -p 3389 [IP]

Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-04 13:07 MSK
Nmap scan report for unspecified.mtw.ru ([IP])
Host is up (0.0087s latency).
PORT     STATE  SERVICE
3389/tcp closed ms-wbt-server


Затем если вы используете cygwin или mingw, linux или mac os:
 

ssh root@[IP] -L 3389:localhost:3389


Если PuTTY:

Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.
 



Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.
 



Далее для Windows:
 


 

VNC


Клиент:

Для Windows:
 

  1. www.realvnc.com
  2. www.tightvnc.com
  3. www.uvnc.com/downloads/ultravnc.html


Для Linux:
 

  1. Можно использовать вышеупомянутый клиент: remmina
  2. Если в браузере хотите: novnc — HTML5 VNC client
  3. И ещё куча всяких разных: directvnc, gnome-rdp, krdc, xtightvncviewer, vinagre, xvnc4viewer


Для MAC OS:

OS X предоставляет для этого встроенное приложение Screen Sharing. Можно также использовать Safari
 

vnc://yourserverip:5901


Сервер: На Вашей виртуальной машине установите VNC сервер:
 

$ apt-get install tightvncserver


Или
 

$ apt-get install vnc4server
$ yum install tigervnc-server


Если на Вашей системе работает файрвол необходимо открыть соответствующие порты. Пример для CentOS
 

$ firewall-cmd --zone=public --add-port=5901/tcp --permanent
$ firewall-cmd --zone=public --add-port=5901/udp --permanent
$ firewall-cmd --reload


Далее выполните:
 

$ vncpasswd
Password:
Verify:


При возникновении проблем с отображением иконок и шрифтов при использовании xfce4 по Ubuntu/Debian:
 

$ echo "export XKL_XMODMAP_DISABLE=1" >> ~/.vnc/xstartup


Если вы хотите, чтобы VNC-сервер стартовал автоматически, создайте файл:
 

$ vi /lib/systemd/system/vncsrv.service


Со следующим содержимым:
 

[Service]
Environment=RESOLUTION=800x600
Environment=COLOR=16
Environment=DISPLAY=1

[Unit]
Description=VNC Server

[Service]
Type=forking
ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY}
ExecStop=/usr/bin/vncserver -kill :${DISPLAY}
ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY}
User=root

[Install]
WantedBy=multi-user.target


Делее выполните:
 

systemctl daemon-reload
systemctl enable vncsrv.service
systemctl start vncsrv.service


Теперь можно подключиться, например, через UltraVNC. Для этого нужно запустить UltraVNC Viewer, в поле VNC Server записать [IP]::5901 (по-умолчанию: 5901, 5902 и т.п. для первого дисплея, второго и т.д. соответственно) и нажать на кнопку подключиться.

Также можно пустить vnc-шный трафик через ssh-туннель. Для этого отредактируйте:
 

$ vi /lib/systemd/system/vncsrv.service

[Service]
Environment=RESOLUTION=800x600
Environment=COLOR=16
Environment=DISPLAY=1

[Unit]
Description=VNC Server

[Service]
Type=forking
ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost
ExecStop=/usr/bin/vncserver -kill :${DISPLAY}
ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost
User=root

[Install]
WantedBy=multi-user.target


Затем если вы используете cygwin или mingw, linux или mac os:
 

ssh root@[IP] -L 5901:localhost:5901


Если PuTTY:
Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 5901, Destination: localhost:5901). Нажимаем Add.
 



Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.
 



Затем открываете UltraVNC Viewer и в поле VNC Server вводите: localhost::5901 после чего подключаетесь.
 



Также можете попробовать другие VNC-сервера:

x11vnc — фактически VNC-сервер (как vnc4server или tightvnc), но позволяет получать доступ к уже существующей X-сессии. Т.е. если Вы настроили графическую оболочку таким образом, что она запускается при старте системы, то можно использовать следующий вариант:
 

$ apt-get install x11vnc
$ x11vnc -storepasswd
$ x11vnc -usepw
$ x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw &
$ disown -h %1


После подключения по VNC (на порт 5900) Вы должны увидеть тоже что и в «Аварийном режиме».

Для старта x11vnc при запуске OS необходимо проделать следующее:
 

$ vi /lib/systemd/system/xvncsrv.service


Добавляем:
 

[Unit]
Description=X11VNC

[Service]
Type=forking
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :2 -usepw
User=root

[Install]
WantedBy=graphical.target


Далее:
 

systemctl daemon-reload
systemctl enable xvncsrv.service
systemctl start xvncsrv.service

 

 



Источник: https://habrahabr.ru/company/ruvds/blog/312556/
Категория: Linux | Добавил: AFed (18.10.2016)
Просмотров: 610 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Copyright MyCorp © 2024Создать бесплатный сайт с uCoz