Меню Рубрики

Установка vnc server на kali

Установка VNC сервера, и настройка его работы поверх SSH


Да, отчего-то не все клиенты хотят работать в таком удобном и черном терминале, панель полностью не удовлетворяет их эстетические потребности, и вообще — «где мой такой любимый и удобный VNC?».
вопрос привычки и вкуса

В данной статье будет рассмотрен пример установки и настройки VNC server и графической оболочки (GUI) на примере OC Debian 8 jessie.

Вводная: на руках имеется чистый Debian 8 и жгучее желание получить на выходе защищенный vnc-доступ к серверу.

Приступим

Обновим список доступных пакетов.

Если система свежеустановленная — стоит обновиться.

(!)Бездумно запускать данную команду не на свежеустановленном сервере не стоит, чревато сломанными зависимостями и перспективой работы напильником.

Устанавливаем Xfce и VNC server (любители GNOME, KDE, LXDE, etc. устанавливают оболочку по своему вкусу).

Создаем пользователя от которого будем запускать vnc сервер.

Устанавливаем sudo (в Debian данный пакет не установлен по умолчанию).

Добавляем пользователя vnc в группу sudo.

Переходим под пользователя vnc.

Если это первый запуск vnc сервера, будет создан конфиг файл и запрошены некоторые параметры:

по умолчанию порт vnc сервера будет 5901, порт каждого следующего дисплея будет увеличиваться на 1 (5902,5903. ).

Проверить запущен ли VNC сервер и на каком порту слушает можно следующей командой.

Убить конкретный дисплей можно так:

:1 — какой дисплей нужно убить.

Создание скрипта автостарта vnc сервера.

Сначала убьем запущенный дисплей :1 (если он запущен).

Добавляем следующие строки в файл:

если требуется — в скрипте можно изменить глубину цвета или разрешение экрана.

использование созданного нами скрипта:

Теперь нужно позаботиться о том, чтобы настроенный нами vnc стартовал после загрузки сервера (запланированной и не очень).
Для этого создаем файл по следующему пути.

Добавляем следующий текст в файл:

[Unit] — указываем описание скрипта (так же можно указать требуемые зависимости и порядок запуска при загрузке).
[Service] — указываем какими командами запускать сервис, под каким пользователем, и тип сервиса.
[Install] — указываем на каком уровне должен запускаться скрипт (runlevel 3 — многопользовательский режим без графики).

Включаем юнит в автозагрузку при старте системы.

Смотрим статус созданного нами юнита.

Дергаем systemd для поиска новых или измененных юнитов.

Шифрование трафика

Голый VNC не шифрует трафик, и оставлять его в таком виде не стоит.
Кроме того, если на Ваш IP выйдут боты из Китая и начнут стучатся по портам, даже если пароль установлен действительно качественный (учтите, что пароль на vnc сессию ограничен 8 символами) и его не взломают, попасть на сервер посредством VNC будет затруднительно, из-за постоянной ошибки на количество неверных попыток авторизации.

Using password file /home/vnc/.vnc/passwd

Warning: password truncated to the length of 8.

Would you like to enter a view-only password (y/n)? n

Пускаем VNC поверх SSH:

Теперь для подключения к серверу сначала нужно создать тунель.

Под *nix:

Теперь возможно подключение посредством vnc клиента, указав вместо IP удаленного сервера localhost и порт на котором слушает vnc-server.

При использовании Windows и putty агента:

После запуска putty переходим Connection -> SSH -> Tunnels.
В поле Source Port вбиваем порт на котором слушает VNC сервер — 5901, в поле Destination вписываем — localhost:5901 и жмем кнопку Add.
должно получиться как на картинке.

Теперь возвращаемся на вкладку Session вписываем IP сервера и порт 22 (тут же можно и сохранить конфигурацию подключения), жмем Open.

паранойи мало не бывает К осторожности нужно приучать сразу, хоть теперь и попасть на наш сервер посредством VNC извне невозможно (для начала нужно залогиниться по ssh и создать тунель), все же стоит задуматься о дополнительной безопасности ssh подключений (помните — китайские боты не дремлют).

Установим и настроим fail2ban.
По умолчанию защита от брутфорса для SSH включена, что нам собственно и требуется.
при превышении заданного числа неудачных вводов пароля подряд (по умолчанию — 6) бан IP, с которого были попытки подбора на заданное время (по умолчанию — 600 секунд).

Устанавливаем пакет из репозитория.

Основной интересующий нас файл настроек находится по пути /etc/fail2ban/jail.conf

Блок настроек для подключения по ssh:

ignoreip — IP адреса, которые не должны быть заблокированы. Можно задать список IP адресов разделённых пробелами, маску подсети, или имя DNS сервера.

bantime — время бана в секундах, по истечении которого IP адрес удаляется из списка заблокированных.

maxretry — количество подозрительных совпадений, после которых применяется правило. В контексте ssh — это число неудавшихся попыток логина, после которых происходит блокировка.

Читайте также:  Установка адаптивного круиз контроля на ford

enabled — значение true указывает что данный jail активен, false выключает действие изолятора.

port — указывает на каком порту или портах запущен целевой сервис. Стандартный порт SSH сервера — 22, или его буквенное наименование — ssh.

filter — имя фильтра с регулярными выражениями, по которым идёт поиск «подозрительных совпадений» в журналах сервиса. Фильтру sshd соответствует файл /etc/fail2ban/filter.d/sshd.conf.

logpath — путь к файлу журнала, который программа Fail2ban будет обрабатывать с помощью заданного ранее фильтра. Вся история удачных и неудачных входов в систему, в том числе и по SSH, по умолчанию записывается в log файл /var/log/auth.log.

Дефолтная настройка удовлетворяет наши требования (6 неверных попыток авторизации по shh и IP летит в бан на 600 секунд), но я бы советовал добавить свой IP в доверенный список.
Обидно будет ждать почти два часа, в случае шестикратной ошибки ввода пароля со своего IP (шанс данного кейса отнюдь не нулевой).

В строке ignoreip = 127.0.0.1/8, адрес 127.0.0.1/8 заменяем на свой IP.

Выходим из редактора nano (ctrl+x, отвечаем y на вопрос сохранения внесенных изменений).

Перегружаем сервис для применения изменений в правилах.

В случае срабатывания бана в логах fail2ban, можно заметить строку предупреждения:

И попытки подключения с данного адреса будут отбиваться сервером автоматически до истечения срока бана.

Готово, настройка VNC сервера завершена.

источник

Устанавливаем Kali Linux с графическим интерфейсом на виртуальный сервер

TL;DR в статье описывается установка Kali Linux с графической средой на виртуальный сервер с ISO-образа по VNC. Такой системой можно пользоваться как полноценным десктопом.

Большинство хостеров предоставляют только консольный доступ к виртуальным серверам и ограниченный выбор образов операционных систем. Но что, если вы хотите установить собственную ОС со своего диска, например что-то экзотическое вроде Kali Linux? У нас вы можете подключить собственный ISO-образ и установить с него любую операционную систему, которая поддерживается гипервизором.

С момента установки- управление сервером происходит по VNC в графическом окружении, точно так же, как на десктопной виртуальной машине вроде VirtualBox или Vmwarе. Пользоваться таким сервером можно прямо в браузере без установки дополнительных программ.

Создание сервера

Первым делом нужно создать виртуальный сервер. Установка операционной системы из ISO-образа происходит уже на созданный сервер, а создать пустой сервер нельзя. Поэтому при создании сервера выбираем любой образ ОС, например CentOS. Этот выбор не имеет значения, так как мы все равно будем форматировать жесткий диск.

Графическая среда требует существенно больше системных ресурсов, поэтому выбираем конфигурацию с 4ГБ оперативной памяти для комфортной работы. Могу сказать, что и с 2ГБ тоже работает сносно, но тяжелые программы вроде Burp Suite на Java съедают всю память. Чтобы ресурсов точно хватило, мы подготовили для вас бонус — 1000 рублей при пополнении баланса от 3000 рублей. Чтобы его активировать, перейдите по этой ссылке для регистрации и пополнения.

Добавлять SSH-ключи не нужно, так как мы все равно форматируем диск и все настройки предустановленной системы будут удалены.

Дожидаемся завершения установки сервера, обычно это занимает не более минуты. Если в момент создания сервера оставить вкладку открытой, вы услышите звуковое уведомление о том, что сервер создан. Так же вы получите письмо на электронную почту с реквизитами для SSH-доступа к серверу. Эти реквизиты нам не потребуются, так как мы установим пароль на этапе установки новой системы.


По завершению создания сервера его статус поменяется на «Активно»

Подключение ISO-образа

Теперь, когда сервер создан, мы можем подключить ISO-образ с Kali Linux. Для этого его сперва нужно смонтировать в панели управления, так подключенный ISO-образ будет доступен для подключения ко всем созданным серверам. Услуга подключения ISO-образа стоит 1 рубль в день. Нам он потребуется только на время установки, после чего его можно будет удалить.

Здесь можно загрузить ISO с компьютера, выбрать из нашей библиотеки или указать ссылку на файл с образом, который будет автоматически скачан. Нам не потребуется ничего скачивать, так как в библиотеке уже есть образ с Kali Linux. Не обращаем внимания на версию, так как Kali Linux выпускается по модели «Rolling release», он не имеет определенных мажорных версий, и всегда может быть обновлен до актуального состояния простым запуском apt ugprade.

Читайте также:  Установка канализационных труб под раковину

Монтирование образа займет не более минуты, после чего его статус изменится на «активно». Теперь его можно подключать к существующим серверам. Для этого заходим в свойства сервера и нажимаем кнопку «Подключить ISO». После подключения ISO система будет перезагружена и загрузка системы начнется с образа.

Доступ по VNC

На этом этапе система загружена с ISO-образа и не имеет доступа в интернет. Единственный способ управления сервером, это подключиться к виртуальному экрану по VNC. В нашей панели управления встроен браузерный VNC-клиент, который запускается по нажатию одной кнопки. Никакие пароли при этом вводить не требуется.

При желании, вы можете использовать свой VNC-клиент, например Realvnc. Реквизиты для подключения можно посмотреть нажав на пиктограмму раскрытия пароля. Важно помнить, что адрес VNC-сервера отличается от IP-адреса вашего сервера.


Меню загрузочного диска Kali Linux доступно по VNC

Описывать все этапы установки Kali Linux мы не будем, так как они сводятся к простому нажатию Next -> Next -> Next -> Finish. Остановимся только на неочевидных моментах.

Настройка сети вручную

Виртуальный сервер не получит IP-адрес автоматически, так как в сети нет DHCP-сервера, поэтому его потребуется ввести вручную. На этапе обнаружения DHCP можно нажать Cancel, чтобы не тратить время.


Автоматическую конфигурацию сети нужно пропустить

Выбираем ручную конфигурацию и вводим IP-адрес, шлюз и маску сети. Все нужные настройки для конкретного сервера сразу указаны внизу страницы VNC-клиента.

Разметка диска и загрузчик

На этапе разметки диска достаточно выбрать пункт по-умолчанию. Таким образом мастер установки займет весь диск, отформатирует его и создаст разделы автоматически. В нашем случае нет необходимости использовать сложную разметку диска и создавать отдельные разделы.


Используем весь диск в автоматическом режиме

Аналогичным образом поступаем с вопросом о загрузчике GRUB — выбираем пункт по умолчанию.

Завершение установки

После завершения установки система автоматически перезагрузится и мы снова попадем в загрузочное меню ISO-образа. Чтобы загрузить установленную систему с жесткого диска, нужно извлечь ISO из сервера. После чего сервер автоматически перезагрузится и мы попадем уже в установленный Kali Linux.

Чтобы не платить за смонтированный ISO-образ, его можно удалить из панели управления. Он нам больше не нужен.

Заключение

Готово! Теперь у нас есть дистрибутив Kali Linux, который всегда включен и доступен. Не нужно нагружать основной компьютер виртуальным машинами и страдать, если нужно перезагрузиться.
Это особенно удобно когда нужно запустить какую-то ресурсоемкую программу вроде сканера, и оставить ее выполняться на несколько дней.

Напомним, что VNC не единственный способ управлять сервером. На нем так же можно активировать SSH, который выключен по-умолчанию, или использовать другие программы удаленного рабочего стола, например TeamViewer.

источник

linux-notes.org

Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint

Virtual Network Computing (VNC) — система для подключения к рабочему столу удаленно используя протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер).

VNC состоит из VNC-клиента, который называется VNC viewer, он только запущен на одной ОС и можно подключаться к VNC-серверу который работает на другой операционной системе. Реализация клиентской и серверной части есть почти для всех ОС, даже для Java (которая включает J2ME). На один VNC-сервер одновременно могут быть подключены большое множество клиентов. Наиболее популярный способ использования VNC — это удалённое подключение к рабочему компьютеру из дома для технической поддержки вашего сервера. В своей статье «Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint» я расскажу как это можно сделать.

Чтобы установить VNC, достаточно выполнить команду:

Вы можете использовать любого пользователя для входа в свой VNC Server, но по соображениям безопасности, я собираюсь создать VNC пользователя для моего VNC Server-а:

Устанавливаем для него пароль:

Теперь переключимся на этого пользователя (vncuser) для создания некоторых конфигурационных файлов для VNC:

После этого, запускаем VNC сервер:

После запуска VNC-сервера, вам будет предложено создать VNC пароль. Устанавливаем любой удобный для вас пароль, но не более 9 символов ( если больше, то он обрежит его).

На рисунке ниже видно как стартанул наш vnc сервер, но нам его нужно немного подредактировать:

Чтобы сделать настройку в сценарие запуска, мы должны убить сессию, что мы только что создали:

После чего нужно открыть и поправить файл конфигурации:

Измените немного конфигурацию по вашему усмотрению ( у меся я поправил разрешение экрана), мой готовый конфигурационный файл я выложил и прочитать его можно тут, чтобы скачать используйте команду:

Читайте также:  Установка usb модема zte

После чего запускаем нашу сессию с разрешением экрана 1024×600:

Установка Gnome X Window для Ubuntu (на стороне клиента, можно установить и другую среду):

Вот еще моя статья как установить другую графическую оболочку:
Установка GUI на Debian/Ubuntu/Mint

PS: не забываем прописывать нужную строку в конфиг xstartup.

Если вы решите использовать другие графические интерфейсы:

Для Gnome-Desktop Environment

Для KDE-Desktop Environment

Для MATE-Desktop Environment

Для LXDE-Desktop Environment

Для Cinnamon-Desktop Environment

Для Openbox-Desktop Environment

Я собрал это все до кучи и закоментировал не нужные строки, оставил только gnome, т.к я его устанавливал. Вы можете скачать данный конфиг и отредактировать его для настройки своего VNC сервера (для своего графического интерфейса):

Я приведу пример со своим использованием, я юзаю windows 8, по этому я скачал vnc- viewer.

Использование VNC Viewer для просмотра и управления VNC-сервера с удаленного хоста.

Перед тем как использовать vnc-viewer, нужно его скачать. После чего запускаем его и вводим в поле IP адрес хоста (у меня это сделать не получилось и не знаю по чему), я использую виртуальную машину, по этому я ввел следующее:
ubuntu:1

Открылось окно и я ввел свой пароль, который я вводил (создал) немного выше. Вот и все, работает все)

После перезагрузки сервера, мы не будем иметь возможность подключиться к серверу с VNC, это потому, что команда «vncserver -geometry 1024×600» , что мы набрали выше не является постоянным. Чтобы решить эту проблему, я будем использовать отличный сценарий Джастин Buser.

Для начала создадим следующее:

Затем создайте пустой сценарий инициализации и сделайте его исполняемым:

И добавьте текст который можно найти и прочитать тут, так же можете просто его скачать и разместить у себя ( только не забудьте сделать его исполняемым):

Сейчас перезапустим наш сервер:

Если вы не можете получить доступ к VNC-сервера, то убедитесь, что вы открыли порты VNC в IPTables:

если не открыли, то открываем их:

и сохраняем все изменения:

Делаем возможность подключения для нескольких пользователей.

Создание локального пользователя, с помощью следующей команды:

Переключитесь на вновь созданного пользователя и запустить этого vncserver командой:

vncserver для дополнительного сервера

Перейдем в домашнюю директорию и отредактируем файл XStartup:

и вставляем в этот файл тоже самое что и для моего первого юзера, берем его от сюда.

Теперь откройте файл /etc/vncserver/vncservers.conf как рут пользователь:

Добавим в уже имеющийся конфиг:

Предотвращение запуск Gnome при загрузке на сервере.

Гном автоматически запускается при загрузке в Ubuntu 12.04 LTS, если мы подключить монитор к нашему серверу мы увидим, что GUI запустился и ждет чтобы мы вошли, это не очень удобно. Сейчас мы это исправим. Чтобы это предотвратить нужно отредактировать файл gdm.conf:

Нужно в этом файле конфигурации закомментировать 6 строчек:

VNC шифрование через ssh туннель

По умолчанию, VNC не является безопасным протоколом, по этому (так безопаснее) мы запустим сервер VNC только на 127.0.0.1 (локальный) и пробросим его через туннель SSH (для этого, есть варианты в Putty).

В Ubuntu нужно отредактировать:

Нужно добавить опцию «-localhost»

проксирование vnc-server на localhost

Запустите PuTTY/ Kitty, введите IP-адрес или имя хоста сервера VNC:

использование vnc через kitty

Переходим на другую вкладку, Session->Connection->SSH.

использование vnc через kitty, настройка

Через команду можно посмотреть что все работает:

После чего уже запускаем непосредственно, vnc viewer и прописываем заместо нашего реального ИП, localhost:1 (или 2). Вводим пароль и можно использовать.

Надеюсь что эта статья «Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint» помогла вам и на этом я закончу ее.

4 thoughts on “ Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint ”

Все настроил как тут описано, но в итоге после отключения завершается сеанс, это очень не удобно.
Как сделать что бы он не завершался

Я думаю что Вы не прописали (добавили) автозапуск vncserver-а.

# update-rc.d vncserver defaults 99
# service vncserver restart

А не подскажете, как лучше настроить сервер, для того что бы клиент мог работать на двух мониторах? Находил решение удвоить значение width в geometry (например, два монитора по 1024×800, то значение -geometry 2048×800, в фулскрин-моде ложится на два монитора). А вот если мониторы разные?

Удвоить длину наименьшего монитора.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

источник

Добавить комментарий

Adblock
detector