Страница 1 из 1

Установка VNC в Ubuntu

Добавлено: 2014-05-27 17:31:37
deepblue
Для тех кого не устраивает стандартные средства доступа к рабочему столу.

Сначала удалим стандартный пакет

Код: Выделить всё

sudo apt-get remove vino
Установим VNC

Код: Выделить всё

sudo apt-get install x11vnc
Далее введите пароль для доступа к рабочему столу

Код: Выделить всё

x11vnc -storepasswd
Когда предложит сохранить пароль в файле, согласитесь.

Далее нужно создать файл сервиса

Код: Выделить всё

sudo nano /etc/init/x11vnc.conf
В него внесите следующие строки

Код: Выделить всё

start on login-session-start

script

x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /root/.vnc/passwd

end script
Теперь осталось запустить сервис, и можно будет подключаться

Код: Выделить всё

service x11vnc start
Подключиться можно любым VNC клиентом, например TightVNC

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

Если fail2ban у вас не установлен, то исправить это легко

Код: Выделить всё

sudo apt-get install fail2ban
Требуется следующая настройка, в файл /etc/fail2ban/jail.local допишем следующее:

Код: Выделить всё

[x11vnc]

enabled = true
port = 5900
filter = x11vnc
logpath = /var/log/x11vnc.log
bantime = 31536000
maxretry = 3
Строка "bantime = 31536000" означает что бан будет выставлен на 31536000 секунд, тоесть на год :-)
Строка "maxretry = 3" указывает сколько раз допускается неудачный ввод пароля до бана.

Далее нужно дописать в файл /etc/fail2ban/filter.d/x11vnc.conf следующие строки:

Код: Выделить всё

[Definition]
failregex = .*authProcessClientMessage: authentication failed from <HOST>
ignoreregex =
Тут определяется как отличать неудачные попытки входа в логе x11vnc, и откуда брать IP.

Чтоб всё это заработало, перезапустим fail2ban

Код: Выделить всё

/etc/init.d/fail2ban restart