Как настроить VNC для Ubuntu 12
Статус: устарело
Эта статья устарела и больше не поддерживается.
Причина
Ubuntu 12.04 достиг конца срока службы (EOL) 28 апреля 2017 г. и больше не получает исправления или обновления безопасности.
Смотрите вместо этого
Эта статья может по-прежнему быть полезной в качестве справочного материала, но может не следовать рекомендациям или работать с этим или другими выпусками Ubuntu. Мы настоятельно рекомендуем использовать недавнюю статью, написанную для используемой вами версии Ubuntu.
- Как установить и настроить VNC в Ubuntu 16.04
- Как установить и настроить VNC в Ubuntu 14.04
Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:
- Как обновить Ubuntu 12.04 до Ubuntu 14.04.
- Как перейти с Ubuntu 14.04 на Ubuntu 16.04
- Как перенести данные сервера в поддерживаемую версию
Введение
VNC расшифровывается как Virtual Network Computing, что позволяет вам удаленно подключаться к вашему серверу и иметь возможность использовать клавиатуру, мышь и монитор для взаимодействия с этим сервером.
Шаг 1. Установите сервер VNC и рабочий стол XFCE 4.
Для начала мы установим VNC-сервер на Ubuntu 12.10 x64 Server. Войдите в систему как root и установите пакеты:
apt-get -y install ubuntu-desktop tightvncserver xfce4 xfce4-goodies
Шаг 2 — Добавьте пользователя VNC и установите его пароль.
adduser vncpasswd vnc
Если вы хотите получить root как пользователь vnc, вам нужно будет добавить его в файл sudoers. Убедитесь, что вы вошли в систему как пользователь root:echo vnc ALL=(ALL) ALL >> /etc/sudoers
Установите пароль VNC-сервера пользователя vnc:su - vncvncpasswdexit
Это шаг устанавливает пароль VNC для пользователя «vnc». Он будет использоваться позже, когда вы подключитесь к своему VNC-серверу с помощью VNC-клиента:
Теперь вы можете войти в систему как пользователь «vnc» и получить root, запустив «sudo su -» и введя свой пароль:
Шаг 3 — Установите VNC как услугу
Войдите в систему как root и отредактируйте /etc/init.d/vncserver и добавьте следующие строки:
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="vnc"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
Отредактируйте /home/vnc/.vnc/xstartup и замените на:
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &
Обновите права доступа к файлам и разрешите любому пользователю запускать X Server:
chown -R vnc. /home/vnc/.vnc && chmod +x /home/vnc/.vnc/xstartup
sed -i 's/allowed_users.*/allowed_users=anybody/g' /etc/X11/Xwrapper.config
Сделайте /etc/init.d/vncserver исполняемым файлом и запустите VNC-сервер:
chmod +x /etc/init.d/vncserver && service vncserver start
Добавьте свой VNC-сервер для автоматического запуска при перезагрузке:
update-rc.d vncserver defaults
Шаг 4. Подключитесь к дроплету с помощью TightVNC.
TightVNC — отличный клиент VNC, который позволяет туннелировать SSH. Его можно скачать с http://www.tightvnc.com/download.php.
Обязательно используйте IP::port в качестве удаленного хоста, где IP — это IP-адрес вашего дроплета, а порт — 5901:
Вам будет предложено ввести пароль VNC, который вы указали на шаге 2 с помощью vncpasswd:
И вот вы подключены:
Шаг 5. Защитите сеанс сервера VNC с помощью шифрования
Базовая настройка сервера VNC не имеет шифрования, что делает его уязвимым для слежения.
Мы создадим туннель SSH с помощью Putty и подключимся к VNC через этот туннель.
Во-первых, нам нужно убедиться, что сервер VNC прослушивает только локальный хост.
Отредактируйте /etc/init.d/vncserver и добавьте -localhost в ОПЦИИ:
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
Перезапустите VNC-сервер:
/etc/init.d/vncserver restart
Убедитесь, что VNC-сервер прослушивает только локальный IP-адрес:
netstat -alpn | grep :5901
Загрузите Putty с http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
Для Windows: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Запустите Putty и введите IP-адрес вашего дроплета в поле Session:
Не подключайтесь пока.
Прокрутите вниз до «Подключение» -> «SSH» -> «Туннели» и «Добавить новый переадресованный порт» и нажмите «Добавить»:
Теперь вы можете подключиться, нажав Открыть. Вы можете войти как пользователь vmc:
Убедитесь, что вы не закрываете этот сеанс SSH, так как он создает туннель между вашим ПК (локальным хостом) и вашей каплей, сопоставляя порты 5901 на обоих концах.
Подключитесь с помощью TightVNC к localhost::5901
Введите свой пароль VNC из шага 3 выше:
И теперь вы подключены через безопасное соединение:
И все готово!