ZaLinux.ru

Как пользоваться ssvnc — клиентом VNC для Linux

ssvnc — это продвинутый TightVNC просмотрщик с помощником для шифрования VNC сессий с помощью SSL сертификатов и SSH туннелирования.

Как установить ssvnc

Для установки ssvnc в Debian, Kali Linux, Linux Mint, Ubuntu и их производные выполните команду:

sudo apt install ssvnc xfonts-cyrillic

Установка ssvnc в Arch Linux, BlackArch и их производные

Пакет ssvnc отсутствует в стандартных репозиториях Arch Linux, но присутствует в AUR, поэтому его можно установить вручную (смотрите статью «Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch»):

git clone https://aur.archlinux.org/ssvnc.git
cd ssvnc
makepkg -si

Вместо ручного способа рекомендуется познакомиться с программой pikaur (вы её полюбите! Подробности смотрите в статье «Автоматическая установка и обновление пакетов AUR») и установить с помощью pikaur:

pikaur -S ssvnc

Возможности ssvnc

Программа ssvnc имеет графический интерфейс, хотя также поддерживает настройку с помощью опций командной строки.

Для запуска программы выполните:

ssvnc

Поле VNC Host:Display предназначена для ввода IP адреса хоста и номера дисплея. На самом деле, обычно номер дисплея вводить не требуется. Здесь же после двоеточия вы можете указать номер порта, если он отличается от стандартного. Записи IP:1 (первый дисплей на IP) и IP:5901 (порт 5901 на IP) являются идентичными. То есть 192.168.0.100:1 и 192.168.0.100:5901 для программы это одно и то же.

Если после двоеточия вы используете цифру < 200, то программа думает, что вы указали номер дисплея и пытается подключиться к порту 5900 + n. Если вам нужно использовать порт TCP менее чем 200, то укажите отрицательное число, например: 24.67.132.27:-80

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

VNC Password — здесь вы можете указать пароль для VNC аутентификации — можно оставить поле пустым и в этом случае VNC просмотрщик покажет диалоговое окно ввода пароля.

Proxy/Gateway — прокси и шлюз, большинству пользователей это не нужно.

Use SSL — использовать SSL

Use SSH — использовать SSH

Use SSL+SSH — использовать SSL вместе с SSH. Это обычно не нужно, поскольку SSH также обеспечивает шифрование как и SSL. На практике может понадобиться только при определённых настройках файервола для обхода ограничений.

None — не использовать шифрование, просто запустить просмотрщик VNC

Save — сохранить профиль с введёнными настройками

Load — загрузить профиль с введёнными настройками

Подключение с ssvnc используя SSL

В настройках сервера здесь и здесь говорилось, что нужно перенести сертификат на клиентскую машину — именно этот сертификат и будет нужен для шифрования трафика с помощью SSL.

Важно: сертификат SSL может быть подменён на лету!!! То есть шифрование с помощью SSL предотвратит пассивный перехват трафика, но если атакующий использует инструменты для подмены сертификатов, то от этой атаки вы не защищены!

Если вы знаете про протокол HTTPS, то вы в курсе, что там также используются сертификаты SSL и эти сертификаты вам не требуется проверять вручную. Дело в том, что в вашей системе установлено множество сертификатов CA (Центров Сертификации) и владелец сайта заплатил деньги за подпись его сертификата одним из этих CA. В результате ваш веб-браузер проверяет все сертификаты сайтов, что они выданы уполномоченным Центром Сертификации.

С SSL сертификатами для VNC, которые вы сами генерируете, это не так. Ваш самоподписанный SSL сертификат ничем не лучше самоподписанного SSL сертификата хакера, который может выполнять атаку человек-посередине.

Чтобы избежать подмены сертификата атакующим, есть два метода:

  • создать свой собственный CA (Центров Сертификации) и подписать самостоятельно сгенерированные SSL сертификаты с его помощью. Благодаря этому всегда можно проверить сертификат, выдан ли он данным CA. Этот вопрос не рассматривается в этой статье — если вам это интересно, то пишите в комментариях и я дополню
  • верифицировать сертификат вручную или передавать его через безопасный канал.

Верификация сертификата

Введите адрес хоста и нажмите кнопку «Fetch Cert»:

Данный сертификат вам нужно будет проверить, например, по отпечатку (Fingerprint) который был передан по другому надёжному каналу (например, продиктован по телефону).

Это же самое окно с информацией о сертификате появится при подключении. Если всё правильно, вы можете сохранить этот сертификат в доверенных. Если в дальнейшем сертификат измениться (будет подменён атакующим), то вы вновь увидите это окно для проверки.

Другой вариант — это передать сертификат по надёжному каналу, например, по электронной почте. В этом случае нажмите кнопку «Cert». В открывшемся окне в поле «CerverCert» укажите путь до сертификата сервера:

Сохраните этот профиль, чтобы не пришлось заново вводить путь до сертификата:

Для подключения нажмите кнопку «Connect».

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

Подключение с ssvnc используя SSH

В главном интерфейсе переключитесь на «Use SSH».

У вас должна быть возможность выполнить вход по SSH на удалённом компьютере. Для этого на нём должна быть запущена служба SSH, а у вас должен быть логин и пароль для входа.

При вводе хоста используйте следующую конструкцию:

ПОЛЬЗОВАТЕЛЬ@ХОСТ:ДИСПЛЕЙ

К примеру, имя пользователя на удалённом хосте mial, IP адрес удалённого хоста 192.168.0.100, я хочу подключиться к дисплею :0 на стандартном порту (можно не указывать), тогда запись следующая:

mial@192.168.0.100

Сохраните данные настройки в файл, чтобы не вводить их каждый раз.

При подключении вам будет предложено ввести пароль SSH для создания туннеля до удалённого компьютера:

Выполнен вход на удалённую систему по VNC:

Рекомендуемые статьи:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *