Удаленный доступ
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
$ firewall-cmd
$ firewall-cmd
$ 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 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:
- www.realvnc.com
- www.tightvnc.com
- www.uvnc.com/downloads/ultravnc.html
Для Linux:
- Можно использовать вышеупомянутый клиент: remmina
- Если в браузере хотите: novnc — HTML5 VNC client
- И ещё куча всяких разных: directvnc, gnome-rdp, krdc, xtightvncviewer, vinagre, xvnc4viewer
Для MAC OS:
OS X предоставляет для этого встроенное приложение Screen Sharing. Можно также использовать Safari
vnc:
Сервер: На Вашей виртуальной машине установите VNC сервер:
$ apt-get install tightvncserver
Или
$ apt-get install vnc4server
$ yum install tigervnc-server
Если на Вашей системе работает файрвол необходимо открыть соответствующие порты. Пример для CentOS
- -- --- --
- -- --- --
- --
Далее выполните:
$ 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/ |