Как установить и настроить VNC в Debian 9

7 лучших клиентов удаленного доступа в Linux

Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели в Linux

Контроль над удаленным компьютером может рассматриваться как акт агрессии, но иногда он просто необходим.

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

Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели.

Портал Techradar протестировал систему VNC и ее функции во многих клиентах. Тем не менее, существуют другие протоколы и виды доступа к удаленному рабочему столу. Растущая популярность подобных клиентов заключается в поддержке нескольких протоколов передачи, поэтому независимо от типа используемого сервера и целевой машины, Вы найдете подходящее решение.

Исследователи придерживались принципа справедливой оценки различных протоколов. Например, NoMachine NX поддерживает подключения VNC, но он проверялся в связке с собственным сервером NX, что вполне разумно.

Клиент TightVNC не тестировался, потому что он очень схож с реализацией TigerVNC. Оба продукта имеют одинаковую кодовую базу, но TigerVNC имеет несколько дополнительных функций.

Прежде чем продолжить

Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Скорее всего, на вашем сервере Debian не будет установлена ​​среда рабочего стола. Наш первый шаг — установить легкую среду рабочего стола.

В репозиториях Debian доступно несколько окружений рабочего стола (DE). Мы будем использовать Xfce в качестве предпочтительной среды рабочего стола. Он быстрый, стабильный и легкий, что делает его идеальным для использования на удаленном сервере.

Обновите индекс пакетов и установите Xfce на свой сервер Debian с помощью следующих команд:

В зависимости от вашей системы загрузка и установка пакетов Xfce может занять некоторое время.

Порядок работы с графическими приложениями Linux с использованием X11 Forwarding

После того, как Xming стартовал, с помощью ssh-клиента PuTTY подключаемся к ssh-серверу Debian, и в командной строке запускаем нужное графическое приложение, Например, если запустить графический терминал xterm , то на компьютере с Windows появляется окно графического терминала Linux.

Xterm на компьютере с Windows через X11 forwarding

При запуске из сессии SSH-клиента PuTTY, или из окна уже запущенного терминала xterm , какого-либо графического приложения, например, обозревателя firefox на рабочем столе Windows отобразится его окно, в котором можно работать точно так же, как и на локальном компьютере с Debian Linux .

Удаленное подключение к графической подсистеме из Linux .

Настройки демона sshd для удаленного доступа к графической подсистеме Linux выполняются точно так же, как и в случае перенаправления для X-сервера на стороне Windows. Графический вывод удаленной системы, в данной конфигурации, будет перенаправляться демоном sshd и разворачиваться графическим сервером на стороне подключившегося ssh-клиента.

Для удаленного подключения к графической подсистеме с использованием перенаправления X11 Forwarding клиентов Linux-систем, можно воспользоваться стандартным SSH-клиентом:

ssh -X -l user 192.168.0.1

-X — использовать перенаправление графического вывода X11Forwarding.

-l user — имя пользователя для подключения к удаленному компьютеру.

192.168.0.1 — адрес удаленного компьютера

После регистрации в удаленной системе, пользователь user имеет возможность работать с графическими приложениями на удаленном компьютере 192.168.0.1

Для запуска конкретного приложения на удаленной системе, можно указать его имя:

ssh -X -l user debian-9 ‘xterm’ — подключиться к компьютеру debian-9 в режиме X11 Forwarding и запустить графический терминал xterm .

После авторизации, на локальном дисплее отобразится окно терминала xterm удаленного компьютера под управлением Linux.

По соображениям безопасности, вместо параметра ssh -X желательно использовать параметр -Y , предотвращающий возможность взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение.

И в заключение, добавлю, что на компьютере с Linux графическая среда не нужна, поскольку с графическими приложениями взаимодействует X-сервер на удаленном компьютере с Windows или Linux. Этот факт позволяет повысить быстродействие графических приложений за счет экономии ресурсов компьютера с ОС Linux, которые потребовались бы для графической среды (особенно с KDE).

Подключение к рабочему столу Debian с использованием XDMCP.

Данный вид подключения позволяет получить рабочий стол Linux на компьютере с Windows и требует изменения настроек менеджера дисплея и графического сервера.

Менеджер дисплея ( Display Manager или DM ) — это специальная системная служба обеспечивающая запуск графического сервера, вывод на графический дисплей приглашения на вход в систему, регистрацию пользователей, запуск оконных менеджеров, монтирование необходимых устройств, ведение баз данных входов и выходов пользователей в системе utmp и wtmp и т.п.

А если упрощенно — то менеджер дисплея — это программа, с которой начинается сеанс работы пользователя в графическом окружении Linux. Визуально, менеджер дисплея представляет собой окно регистрации пользователя при входе в систему. Обычно под этим подразумевается форма для ввода логина и пароля, меню для выбора графической среды, и дополнительные элементы управления питанием (для выключения компьютера, перезагрузки, перевода в спящий режим), выбора языка ввода, и т.п. По умолчанию, в Debian 9 устанавливается менеджер дисплея Light Display Manager ( LghtDM ) , однако имеется возможность сменить его другие — GNOME display manager (GDM) , KDE display manager (KDM) , LXDE display manager (LXDM) и т.д. Какой из менеджеров используется в данный момент времени, можно посмотреть в файле /etc/X11/default-display-manager . Пример содержимого в Debian 9:

Все файлы конфигурации менеджера дисплея LightDM размещаются в системном каталоге /etc/lightdm . Основные настройки хранятся в файле lightdm.conf , где нужно найти секцию XDMCP:

Для разрешения удаленных подключений к менеджеру дисплея нужно раскомментировать первые 2 строки (убрать символ # :

Если в файле конфигурации sshd_config отсутствует секция [XDMCPServer] , то настройки можно выполнить в секции менеджера дисплея [LightDM] , раскомментировав строки:

Внесенные изменения вступят в силу только после перезапуска менеджера дисплея или перезагрузки системы. Для перезапуска LightDM можно воспользоваться командой:

service lightdm restart

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

Для подключения к удаленному Debian, можно воспользоваться ярлыком Xlaunch . При подключении с использованием XDMCP необходимо выбрать режим работы в одном окне ( One Window ):

Xlaunch - режим XDMCP

Выбираем сессию с использованием XDMCP:

Xlaunch - режим XDMCP

Указываем IP-адрес или имя компьютера с ОС Linux, к которому необходимо подключиться:

Xlaunch - адрес или имя удаленного Linux

Следующий экран служит для определения дополнительных параметров сессии и его пока можно оставить без изменений. Жмем кнопку «Далее» и, если все сделано правильно — перед нами приглашение менеджера дисплея Linux.

Способы устранения проблем удаленного подключения к графической подсистеме Linux из Windows:

Удаленный В Linux Из Windows С VNC

Виртуальное сетевое соединение (VNC) также предоставляет удаленный доступ к вашему рабочему столу Linux. Однако, как и в случае с RDP, вам необходимо установить специальное программное обеспечение. На коробке Linux требуется программное обеспечение VNC-сервера; в Windows клиентское приложение.

TightVNC — один из самых популярных вариантов подключения к Linux через VNC. Вы найдете клиентское программное обеспечение Windows на веб-сайте , но убедитесь, что выбрали правильную версию.

После того, как вы это сделаете, установите Inversion-сервер на вашем Linux-компьютере. Это может быть через SSH (см. Следующий раздел) или с физическим доступом к компьютеру.

Во-первых, в Linux проверьте наличие обновлений:

Далее выполните эту команду:

После установки, запустите silentvncserver и установите пароль при появлении запроса.

Существует восемь символов для паролей. Теперь, когда закручивается туго настроенный сервер, вы увидите уведомление с номером порта — запишите его.

Для удаленного подключения к Linux из Windows:

  • Запустите приложение TightVNC Viewer в Windows
  • Введите IP-адрес и номер порта
  • Нажмите Подключиться
  • Введите пароль, который вы установили при появлении запроса

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

Преимущества VNC: предлагая быстрый доступ к удаленному ПК, TightVNC имеет свои ограничения. Вы можете выполнять стандартные вычислительные задачи, но действия, связанные со СМИ, строго ограничены.

2.1. Защищённый удалённый вход: SSH

Протокол SSH («Secure SHell» — защищённая командная оболочка) был разработан из соображений безопасности и надёжности. Соединения, использующие SSH, защищены: другая сторона аутентифицируется, а весь обмен данными зашифрован.

КУЛЬТУРА Telnet и RSH устарели

До SSH основными средствами удалённого доступа были Telnet и RSH . Сейчас они сильно устарели, и их не следует использовать, хотя они всё ещё есть в Debian.

СЛОВАРЬ Аутентификация, шифрование

Безопасность важна, когда необходимо дать клиенту возможность управления или выполнения действий на сервере. Необходимо надёжно идентифицировать клиента; это называется аутентификацией. Для идентификации обычно используется пароль, который должен храниться в секрете, иначе другой клиент мог бы воспользоваться им. Для этого служит шифрование — форма кодирования, позволяющая двум системам обмениваться конфиденциальной информацией по публичному каналу, защищая её от чтения другими.

Аутентификация и шифрование часто упоминаются вместе, потому что они часто используются совместно, и потому что они обычно основываются на сходных математических принципах.

В состав SSH также входят две транспортных службы. scp — это инструмент командной строки, который можно использовать наподобие cp с той разницей, что любой путь к другой машине начинается с указания её имени, за которым следует двоеточие.

sftp — это интерактивная команда, похожая на ftp . В рамках одной сессии sftp может передать несколько файлов, а также с её помощью можно манипулировать удалёнными файлами (удалять, переименовывать, менять права доступа и т. д.).

В Debian используется OpenSSH — свободная реализация SSH, развиваемая в рамках проекта OpenBSD (свободной операционной системы, основанной на ядре BSD и делающей акцент на безопасности), и являющаяся ответвлением оригинальной программы SSH, разработанной финской компанией SSH Communications Security Corp. Эта компания изначально разрабатывала SSH как свободное ПО, но впоследствии решила продолжить разработку под собственнической лицензией. Тогда проект OpenBSD создал OpenSSH, чтобы развивать свободную версию SSH.

К ОСНОВАМ Ответвление ( fork )

В области программного обеспечения «ответвление» или «форк» означает новый проект, начатый как клон существующего проекта и конкурирующий с ним. В дальнейшем оба программных продукта как правило быстро расходятся в плане новых доработок. Форк часто является результатом конфликтов внутри команды разработчиков.

Возможность создать ответвление прямо следует из самой природы свободного ПО; форк — это здоровое явление, если оно позволяет продолжить развитие проекта как свободного ПО (например в случае изменения лицензии). Форк, возникающий из-за технических или личных разногласий зачастую является транжирством человеческого ресурса; другое решение было бы более предпочтительным. Случаются и слияния двух проектов, ранее разошедшихся вследствие форка.

OpenSSH разделён на два пакета: клиент openssh-client и сервер openssh-server . Мета-пакет ssh устанавливает оба ( apt install ssh ).

9.2.1.1. Аутентификация по ключу

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

Пользователь создаёт на клиентской машине пару ключей с помощью ssh-keygen -t rsa ; публичный ключ сохраняется в ~/.ssh/id_rsa.pub , а соответствующий ему секретный ключ — в ~/.ssh/id_rsa . Затем пользователь с помощью команды ssh-copy-id сервер добавляет публичный ключ в файл ~/.ssh/authorized_keys на сервере. Если секретный ключ не был при создании защищён «парольной фразой», все последующие входы на сервер будут работать без пароля. В противном случае потребуется расшифровывать секретный ключ каждый раз, вводя парольную фразу. К счастью, ssh-agent позволяет хранить секретные ключи в памяти, чтобы не приходилось то и дело вводить пароль. Для этого ипользуется ssh-add (однократно за рабочую сессию) при условии, что сессия уже ассощиирована с работающим экземпляром ssh-agent . Debian активирует его по умолчанию в графических сессиях, но это можно отключить, изменив /etc/X11/Xsession.options . Для консольной сессии можно запустить его вручную с помощью eval $(ssh-agent) .

БЕЗОПАСНОСТЬ Защита секретного ключа

Кто угодно, имеющий секретный ключ, может войти в настроенную таким образом учётную запись. Поэтому доступ к секретному ключу защищается «парольной фразой». Некто, получивший копию секретного ключа (например ~/.ssh/id_rsa ) всё равно должен знать эту фразу, чтобы иметь возможность воспользоваться им. Эта дополнительная защита не является, однако, неприступной, и если есть основания полагать, что данный файл был скомпроментирован, лучше отключить этот ключ на компьютерах, на которые он был установлен, (путём удаления его из файлов authorized_keys ) и заменить его вновь созданным ключом.

КУЛЬТУРА Уязвимость OpenSSL в Debian Etch

The OpenSSL library, as initially provided in Debian Etch , had a serious problem in its random number generator (RNG). Indeed, the Debian maintainer had made a change so that applications using it would no longer generate warnings when analyzed by memory testing tools like valgrind . Unfortunately, this change also meant that the RNG was employing only one source of entropy corresponding to the process number (PID) whose 32,000 possible values do not offer enough randomness.

В частности, когда OpenSSL использовалась для генерации ключа, она всегда создавала ключ из известного набора нескольких сотен тысяч ключей (32.000, помноженные на небольшое число длин ключей). Это затронуло ключи SSH и SSL, а также сертификаты X.509, используемые многочисленными приложениями, такими как OpenVPN. Взломщику оставалось только перепробовать все ключи, чтобы получить неавторизованный доступ. Чтобы уменьшить последствия этой проблемы, демон SSH был модифицирован таким образом, чтобы отклонять проблемные ключи, перечисленные в пакетах openssh-blacklist и openssh-blacklist-extra . Кроме того, команда ssh-vulnkey позволяет обнаружить возможно скомпроментированные ключи в системе.

Более детальный анализ выявил, что это результат нескольких (небольших) проблем и в проекте OpenSSL и у сопровождающего пакет Debian. Такие широко используемые библиотеки как OpenSSL должны без изменений проходить тест valgrind без предупреждений. Более того, код (особенно чувствительные части, как RNG) должен быть лучше сопровождён комментариями для предотвращения таких ошибок. Сопровождающий пакета Debian хотел согласовать изменения вместе с разработчиками OpenSSL, но просто объяснил их, не предоставив соответствующий патч для проверки и не уведомил о своей роли в Debian. Наконец, его выбор не был оптимальным: изменения в исходном коде не были отчётливо сопровождены комментариями. Они были сохранены в репозитории Subversion, затем свалены в один патч во время создания пакета с исходным кодом.

It is difficult under such conditions to find the corrective measures to prevent such incidents from recurring. The lesson to be learned here is that every divergence Debian introduces to upstream software must be justified, documented, submitted to the upstream project when possible, and widely publicized. It is from this perspective that the new source package format (“3.0 (quilt)”) and the Debian sources webservice were developed.

9.2.1.2. Использование удалённых приложений X11

Протокол SSH позволяет пересылать графические данные (сессию «X11», по названию наиболее широко распространённой в Unix графической системы); в таком случае сервер сохраняет выделенный канал для этих данных. Так, графическая программа, запущенная удалённо, может быть отображена сервером X.org на локальном экране, и вся сессия (ввод и отображение) будет защищена. Поскольку эта возможность позволяет удалённым приложениям перекрываться с локальной системой, она отключена по умолчанию. Её можно включить, указав X11Forwarding yes в конфигурационном файле сервера ( /etc/ssh/sshd_config ). Пользователь также должен явно запросить её, добавив опцию -X к командной строке ssh .

9.2.1.3. Создание шифрованных туннелей

Опции -R и -L указывают ssh , что нужно создать «шифрованный туннель» между двумя машинами, безопасно перенаправив локальный порт TCP (см. врезку К ОСНОВАМ TCP/UDP) на удалённую машину или наоборот.

СЛОВАРЬ Туннель

Интернет, как и большинство подключённых к нему локальных сетей, работает в пакетном режиме, а не в подключённом. Это означает, что пакет, отправленный одним компьютером другому, будет останавливаться на нескольких промежуточных маршрутизаторах для выяснения пути к его месту назначения. Но всё же можно симулировать подключённую работу, энкапсулируя поток в обычные пакеты IP. Эти пакеты следуют своим обычным путём, а поток восстанавливается в неизменном виде в месте назначения. Это называется «туннелем» по аналогии с дорожным туннелем, по которому автомобили следуют напрямую от въезда (ввод) к выезду (вывод) без каких бы то ни было перекрёстков, в противоположность движению по поверхности, где встречались бы перекрёстки и менялось направление движения.

Эту возможность можно использовать, чтобы добавить шифрование в туннель: поток, идущий через него, не распознаваем извне, но возвращается к расшифрованному виду на выходе из туннеля.

ssh -L 8000:server:25 intermediary устанавливает сессию SSH с узлом intermediary и слушает локальный порт 8000 (см. Рисунок 9.3, «Перенаправление локального порта с помощью SSH»). Для любого соединения, установленного на этом порту, ssh инициирует соединение с машиныintermediary на порт 25 машины server и свяжет оба соединения друг с другом.

ssh -R 8000:server:25 intermediary также устанавливают сессию SSH с intermediary компьютером, но на этой машине находится ssh и уже слушает порт 8000 (см. Рисунок 9.4, «Перенаправление удалённого порта с помощью SSH»). Любое соединение с этим портом заставит ssh открыть соединение с локальной машины на порт 25 машины server и связать между собой два соединения.

В обоих случаях соединения устанавливаются с портом 25 узла server, проходя через туннель SSH между локальной машиной и машиной intermediary. В первом случае входом в туннель является локальный порт 8000, и данные идут на машину intermediary перед тем, как направиться на server в «публичной» сети. Во втором случае вход и выход из туннеля меняются местами; входом является порт 8000 на машине intermediary, а выход расположен на локальном узле, и данные затем направляются на server. На практике сервером обычно является либо локальная машина, либо промежуточная. В таком случае SSH защищает соединение от одного конца до другого.

Перенаправление локального порта с помощью SSH

Рисунок 9.3. Перенаправление локального порта с помощью SSH

Перенаправление удалённого порта с помощью SSH

Рисунок 9.4. Перенаправление удалённого порта с помощью SSH

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector