Подключение к удаленному компьютеру по VNC. VNC — удаленный доступ к компьютеру по сети Удаленный доступ к компьютеру vnc

Введение в VNC. Материал ориентирован на неопытного пользователя.

VNC - это широко распространенный метод удаленного доступа к рабочему столу компьютера по сети. Данные о нажатии клавиш и движении мыши, выполняемых пользователем на собственном компьютере передаются по сети на удаленный компьютер и воспринимаются им действия с его собственными клавиатурой и мышью. Информация с экрана удаленного компьютера выводится на экране компьютера пользователя. Работа по VNC через интернет с удаленным компьютером, находящимся в противоположной точке мира, для пользователя выглядит так, как будто этот компьютер находится непосредственно перед ним. Особенно VNC удобен при работе с графическим интерфейсом - с рабочим столом и программами для рабочего стола операционных систем Windows, Linux и других.

1. VNC-клиент на компьютере пользователя под управлением ОС Windows, с открытым рабочим столом VDS (виртуального сервера), работающего под управлением Ubuntu 9.10.

Для начинающих пользователей администрирование Unix-сервера по VNC будет намного проще, чем через командную строку по SSH или панель управления с веб-интерфейсом. Программы с графическим интерфейсом, как правило, хорошо структурированы и более интуитивны в понимании, чем редактирование конфигурационных файлов по инструкциям. Администрирование сервера выглядит почти так же, как настройки десктопной версии операционной системы, будь то Linux или Windows. Можно даже установить на собственный компьютер аналогичную версию операционной системы для тренировки, и переходить к администрированию VDS/VPS уже после того, как будут понятны основные принципы настройки системы.

Для администрирование собственного сервера по VNC пользователю достаточно уметь работать с графическим оконным интерфейсом и иметь базовое представления о главных компонентах операционной системы - файловая система, сеть, работа сервисов (демонов).

На удаленном компьютере должна быть запущена программа-сервер (VNC server), которая играет роль клавиатуры, мыши и монитора, и обменивается данными с компьютером пользователя. Доступ к VNC-серверу может быть защищен паролем.

На компьютере пользователя должна быть запущена программа-клиент (VNC client, VNC viewer), которая передает на удаленный компьютер информацию о нажатиях на клавиши и движениях мыши, получает от него изображение и выводит его на экран. VNC-клиенты существуют для Windows, Linux, FreeBSD, MacOS и многих других платформ. Есть также VNC-клиенты для карманных компьютеров и мобильных телефонов. При запуске VNC-клиента достаточно указать DNS-имя или IP-адрес удаленного компьютера, и пароль, если доступ к VNC-серверу защищен паролем.

Основной объем передаваемых по VNC данных приходится на графический информацию, выводимую на экран. Для работы требуется ширина пропускания канала от 32 Кбит/сек до 2 Мбит/сек. Для комфортной работы в полноцветном режиме при разрешении экрана 1024x768 скорость канала должна быть 1-2 Мбит/сек. При снижении качества графики, при уменьшении числа цветов и при некоторых дополнительных способах оптимизации, приемлемое удобство может обеспечить скорость 128 Кбит/сек. Канал занимается полностью только при обновлении больших участков экрана, при печати текста трафик заметно меньше, а в остальное время канал практически не используется. Если при передаче по каналу возникают большие задержки передачи пакетов (медленные каналы, спутниковая связь, большие расстояния), это вызывает ухудшение времени реакции на нажатие клавиш и движение мыши, что значительно снижает комфортность работы.

VNC - программа для удаленного соединения между Windows, Mac OS X, UNIX и Linux компьютерами.

Лицензия на программное обеспечение позволяет удовлетворить все ваши потребности, от индивидуального (личного) использования, до надежного, гибкого и ультра-безопасного решение корпоративного класса.

Бесплатная версия только для личного использования не включает шифрование соединения и ряд premium-функций Personal и Enterprise версии.

Сравнение версий

Основные возможности VNC

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

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

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

Опытные пользователи могу получить доступ к окну настроек клиентского приложения для включения и отключения ввода с клавиатуры и мыши, активации режима “только для чтения” и изменения уровень масштабирования.

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

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

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

Эффективный контроль расходов на мобильную связь

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

Контролировать личные расходы на связь посредством бесплатного сервиса МТС легко:

  • Для выяснения информации о потраченных средствах на звонки, СМС и прочие услуги можно запросить детализацию.
  • Несложно настроить систему уведомлений, чтобы быть в курсе каждого списания со счета мобильного телефона за предоставляемые услуги.
  • Программа предоставляет возможность абоненту самостоятельно в несколько кликов сменить тарифный план.
  • Также несложные действия потребуются для подключения или отключения той или иной услуги МТС, для управления платными подписками.
  • Программа позволяет контролировать балансовые остатки по подключенным пакетам интернет-трафика, голосовой связи и СМС-сообщениям.
  • Получить помощь специалиста компании посредством общения через чат.
  • Сервис наделен обширным справочным арсеналом, который может помочь при необходимости быстро найти ближайший офис обслуживания компании.

Для установки приложения Мой МТС для Андроид не требуется наличие больших ресурсов памяти на смартфоне.

Краткий экскурс по вкладкам программы

Самая важная информация о подключенном тарифе и состоянии счета отражается в разделе Мой МТС. Это главная страница сервиса.

  • Счет. Этот раздел информирует об остатке денежных средств на телефоне. Здесь можно пополнить лицевой счет (предоставляется на выбор несколько способов), воспользоваться услугами «обещанный платеж» и «детализация».
  • Тарифы. В этом разделе сервиса абонент может уточнить условия действующего тарифа, а также переключиться на другой план услуг.
  • Интернет. Вкладка позволяет контролировать остаток неиспользованных Гб интернета. При необходимости здесь можно подключиться к дополнительному пакету трафика.
  • Услуги. Здесь можно отключить ненужные платные опции и подписки, а также найти и подключить полезные услуги.
  • Бонусы МТС. Раздел отражает сумму бонусных баллов, накопленных за пользование услугами оператора. В рамках этой вкладки можно обменивать баллы на подарки, представленные в каталоге.
  • Роуминг. Этот раздел полезен абонентам, часто бывающим в разъездах. Чтобы экономить на расходах в зоне роуминга во время дальних поездок рекомендуется подключать/отключать актуальную и подходящую по условиям опцию.
  • Развлечения. Этот раздел пригодится абонентам, интересующимся развлекательными сервисами МТС. Здесь предоставляется доступ к широкому спектру различных игровых и новостных ресурсов.
  • Поддержка. Через эту вкладку пользователь приложения может обратиться с вопросом на горячую линию через чат, или заказав обратный звонок.

Для многих абонентов МТС приложение Мой МТС стало отличным подспорьем в пользовании смартфоном, позволяющим всегда быть на связи и не испытывать дискомфорта.

Undeniably, TeamViewer is the best VNC in the market. Virtual Network Connection software, also known as remote desktop software allows you to control a client’s device, be it an Android Tablet, or iPhone via another computer.

In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network. Without further ado, here are 8 free and some are open source VNC client/server.

↓ 01 – | Free | Windows

Ultra VNC is a powerful, easy to use and free – remote pc access softwares – that can display the screen of another computer (via internet or network) on your own screen. The program allows you to use your mouse and keyboard to control the other PC remotely. It means that you can work on a remote computer, as if you were sitting in front of it, right from your current location.

VNC, the Remote Frame Buffer protocol (RFB) allows a desktop to be viewed and controlled remotely over the Internet. A VNC server must be run on the computer sharing the desktop, a VNC client must be run on the computer that will access the shared desktop.

↓ 02 – | Free | Windows | macOS | Linux

DWService offers a service that allows access to remote systems using a standard web browser. Suppose you are anywhere in the world having the need to use your home computer, you can start the web browser from any device connect to DWService website and immediately gain control of the computer. How is it possible? Very easy, register on DWService and install DWAgent on your home computer.

DWService actually allows you to do much more by giving you the ability to securely share, through Applications, everything your system has to offer. Also you can share with other people not registered on DWService without using the existing cloud systems. For example you can directly share the folder on your PC containing your holiday photos with family and friends without having to publish the photos on other servers.

↓ 03 – | Free Personal | Windows | macOS | Linux

TeamViewer lets you establish a connection to any PC or server within just a few seconds. You can remote control the PC of your partner as if you were sitting right in front of it. New features such as VoIP, webcam and application selection will give you an even better, easier and faster desktop sharing experience. Remote support, remote access, and online meeting software that the world relies on – 1 billion installations and 20+ million devices online at any time. Why TeamViewer?

  • Save time and money – Support, assist, interact, and collaborate with people. Exchange information. Access and use technology. One tool makes it possible to work as if you were all in the same room without travel time and expenses. With TeamViewer, you have everything you need right in front of you.
  • Focus on your work, not getting it to work – Solve issues remotely or bring customers and colleagues together without complex steps or onerous prep time. TeamViewer is designed to get you working in seconds on any device.
  • Secure and powerful – TeamViewer enables you to do what you want without any hassle and without any worries. Private data, private conversations, and private meetings stay that way.

↓ 04 – | Free | All Chrome Browser | Chromebook

Access other computers or allow another user to access your computer securely over the Internet. Chrome Remote Desktop allows users to remotely access another computer through Chrome browser or a Chromebook. Computers can be made available on an short-term basis for scenarios such as ad hoc remote support, or on a more long-term basis for remote access to your applications and files. All connections are fully secured.

Chrome Remote Desktop is fully cross-platform. Provide remote assistance to Windows, Mac and Linux users, or access your Windows (XP and above) and Mac (OS X 10.6 and above) desktops at any time, all from the Chrome browser on virtually any device, including Chromebooks.

↓ 05 – TightVNC | Free | Windows | Linux

TightVNC is a free remote control software package. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer.

  • Free for both personal and commercial usage, with full source code available,
  • Useful in administration, tech support, education, and for many other purposes,
  • Cross-platform, available for Windows and Unix, with Java client included,
  • Compatible with standard VNC software, conforming to RFB protocol specifications.

↓ 06 – Remmina | Free | Linux

Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface.

  • Protocols supported: RDP, VNC, NX, XDMCP, SSH, Telepathy
  • Maintain a list of remote desktop files, organized by groups
  • Make quick connections by directly putting in the server name
  • Remote desktops with higher resolutions are scrollable/scalable in both window and fullscreen mode
  • Viewport fullscreen mode: remote desktop automatically scrolls when the mouse moves over the screen edge.
  • Floating toolbar in fullscreen mode, allows you to switch between modes, toggle keyboard grabbing, minimize, etc.
  • Tabbed interface, optionally managed by groups

↓ 07 – AnyDesk | Free Personal | Windows | Linux

AnyDesk is the world’s most comfortable remote desktop application. Access all your programs, documents and files from anywhere, without having to entrust your data to a cloud service. An excellent alternative and great competitor in the Remote Desktop market. They have a pretty solid architecture that easily competes with strong competitors.

↓ 08 – | Free | Windows | macOS | Linux

TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines. TigerVNC provides the levels of performance necessary to run 3D and video applications, and it attempts to maintain a common look and feel and re-use components, where possible, across the various platforms that it supports. TigerVNC also provides extensions for advanced authentication methods and TLS encryption.

↓ 09 – | Free Personal | Windows | macOS | Linux

NoMachine NX is an enterprise-class solution for secure remote access, desktop virtualization, and hosted desktop deployment built around the self-designed and self-developed NX suite of components. Thanks to its outstanding compression, session resilience and resource management and its integration with the powerful audio, printing and resource sharing capabilities of the Unix world, NX makes it possible to run any graphical application on any operating system across any network connection. NX is SSH encrypted, has random cookie generation, and is compressed for speed. Free version is available to everyone, and enterprise and server editions are available at cost.

↓ 10 – X2Go | Free | Windows | macOS | Linux

X2Go is an open source remote desktop software for Linux that uses the NX technology protocol. X2Go can be used to access PC desktops, but its main use case is providing secure standalone remote sessions via ssh. The server package must be installed on a Linux host; client packages can be run on Linux, OS X, or Windows. Basic features of X2Go

  • Graphical Remote Desktop that works well over both low bandwidth and high bandwidth connections
  • The ability to disconnect and reconnect to a session, even from another client
  • Support for sound
  • Support for as many simultaneous users as the computer’s resources will support (NX3 free edition limited you to 2.)
  • Traffic is securely tunneled over SSH
  • File Sharing from client to server
  • Printer Sharing from client to server
  • Easily select from multiple desktop environments (e.g., MATE, GNOME, KDE)
  • Remote support possible via Desktop Sharing
  • The ability to access single applications by specifying the name of the desired executable in the client configuration or selecting one of the pre-defined common applications

↓ 11 – | Free | Windows | macOS | Linux

eHorus is a Cloud-based remote management system (SaaS). It installs an agent on your device which is run as a service. These agents connect to our servers so that you can connect to them from any Internet-enabled device. Imagine being able to connect to your home PC and access your desktop and files from the comfort of your office. Safely and without having to install anything on the computer from which you connect with the others.

  • Bidirectional file downloading – Upload or download files to your remote devices. Do it in the background with the browser, while you continue to work with your device.
  • Service and process control – Start processes up, for services. Comfortable and fast. No need to even access your desktop. You’ll be able to see your CPU and memory usage for each process, as well as view the general system status.
  • Remote Shell – Solve problems even quicker from the remote Shell. Whether it’s Windows, Mac OS or Linux, you’ll have direct access to a Shell from the browser.
  • Remote desktop – Managed comfortably from your browser. No need to install anything additionally. Even when accessing from a Tablet or cell phone.

↓ 12 – | Free

mRemoteNG is a fork of mRemote: an open source, tabbed, multi-protocol, remote connections manager. mRemoteNG adds bug fixes and new features to mRemote. It allows you to view all of your remote connections in a simple yet powerful tabbed interface. mRemoteNG supports the following protocols:

  • RDP (Remote Desktop/Terminal Server)
  • VNC (Virtual Network Computing)
  • ICA (Citrix Independent Computing Architecture)
  • SSH (Secure Shell)
  • Telnet (TELecommunication NETwork)
  • HTTP/HTTPS (Hypertext Transfer Protocol)
  • rlogin
  • Raw Socket Connections

Как помочь своим пользователям получить доступ к многопользовательской Linux-системе из любого места

Архитектура VNC и X server

В качестве графического интерфейса пользователя (GUI) в Linux®применяется X Window System (сокращенно X ). X - это необычный GUI в нескольких отношениях, в частности, это изначально сетевой интерфейс. X-сервер , по сути, представляет собой программу сетевого сервера. Программы сетевого сервера предоставляют клиентским программам доступ к локальным ресурсам, и это верно также для X-сервера. Особенность заключается в том, что в случае Х-сервера "локальные ресурсы" – это дисплей, клавиатура и мышь, с которыми работает пользователь. В самой распространенной конфигурации программы Х-клиента работают на том же компьютере, что и сервер. Таким образом, LibreOffice, GNU Image Manipulation Program (GIMP) или другие программы являются X-клиентами, использующими сетевые протоколы Х для приема данных от пользователя и отображения результатов на том же компьютере.

Однако когда X используется в сети, пользователь сидит за компьютером X-сервера, а X-клиентами служат программы, которые нужно запускать на другом компьютере. Для этой конфигурации требуется второй сетевой протокол, устанавливающий соединение. Таким вторым протоколом может быть telnet, Secure Shell (SSH) или X Display Manager Control Protocol (XDMCP). Сервер этого протокола удаленного входа работает на компьютере X-клиента, а клиент удаленного входа ― на компьютере X-сервера. Сервер удаленного входа запускает X-клиенты, которые, в свою очередь, устанавливают соединение с X-сервером. иллюстрирует это взаимодействие. Пунктирными стрелками обозначено начало сеанса. (В случае XDMCP XDMCP-клиент встроен в программу X-сервера.)

Рисунок 1. Для удаленного доступа X требуется клиент и сервер на обоих компьютерах

Эта конфигурация прекрасно работает во многих локальных сетях, но не лишена недостатков. Например, для нее нужно инициировать двусторонний сетевой протокол, а этому может помешать межсетевой экран или маршрутизатор Network Address Translation (NAT). (SSH устраняет это препятствие, позволяя туннелировать X-сеансы.) Кроме того, хотя существуют X-серверы для большинства платформ, они обычно не устанавливаются на компьютерах под управлением Windows®. По этим и иным причинам многие предпочитают использовать другой протокол, Remote Frame Buffer (RFB), который реализован в семействе программ Virtual Network Computing (VNC).

VNC - это кроссплатформенный инструмент, который обеспечивает удаленный доступ к Linux, UNIX®, Mac OS X, Windows и другим системам из клиента любого типа. Пользователь сидит за клиентским компьютером и обращается к удаленному серверному компьютеру. В Linux VNC-сервер либо зеркально отражает содержимое локального экрана Х-сервера на удаленный компьютер, либо содержит свой собственный X-сервер, способный работать независимо от того, что управляет локальным экраном. Результат показан на рисунке 2. Опять же, пунктирная стрелка указывает начало сеанса. Эта конфигурация устраняет необходимость в обратном сетевом соединении, а так как клиенты и серверы VNC имеются для многих операционных систем, одна и та же клиентская программа обеспечивает доступ к любому серверу.

Рисунок 2. В состав VNC-сервера входит X-сервер, способный взаимодействовать с локальными программами через X-клиент

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

Для решения этой проблемы можно объединить эти два подхода: перенастроить локальный XDMCP-сервер так, чтобы он помогал X-серверу, встроенному в VNC, обеспечить недостающую многопользовательскую аутентификацию. (Результирующая конфигурация иллюстрируется на рисунке 3. Пунктирная стрелка указывает начало сеанса.) Теперь, когда удаленные пользователи VNC обращаются к компьютеру VNC-сервера, они могут вводить имена пользователей и пароли доступа к своим собственным уникальным сеансам VNC, так что с компьютером могут работать сколько угодно пользователей.

Рисунок 3. Добавление XDMCP к конфигурации VNC обеспечивает повышенную гибкость

Настройка VNC-сервера

Существует несколько способов запуска VNC, включая использование сценариев, привязку VNC к среде рабочего стола с помощью настольных инструментов и использование xinetd для прослушивания VNC-соединений. Этот последний подход и описывается здесь, так как он позволяет запускать VNC так, что тот может использовать XDMCP-сервер. Прежде чем перейти к инструкциям по настройке VNC для запуска посредством xinetd , необходимо выбрать VNC-сервер.

Выбор VNC-сервера

Существует несколько программ VNC-сервера. (См. раздел ). Некоторые из наиболее популярных: TightVNC, TigerVNC и RealVNC. В этой статье в качестве примера используется TightVNC. К сожалению, детали конфигурации зависят как от сервера, так и от дистрибутива, поэтому приведенные здесь инструкции нужно будет адаптировать к своему программному обеспечению.

Установка xinetd

Многие дистрибутивы устанавливают суперсервер xinetd по умолчанию, но не все. Так как описанный здесь метод предполагает использование xinetd , необходимо установить xinetd , если он еще не установлен. В большинстве дистрибутивов xinetd можно установить с помощью менеджера пакетов, например, вызывав apt-get install xinetd в дистрибутивах на основе Debian или zypper install xinetd в openSUSE.

Может также потребоваться настройка процесса запуска xinetd . Обычно для одноразового запуска можно использовать сценарий запуска System V (SysV):

# /etc/init.d/xinetd start

Для настройки автоматического запуска xinetd при загрузке компьютера требуется знание методов работы сценариев запуска своего дистрибутива. Как правило, это делается с помощью утилиты, такой как chkconfig (используется в Fedora, openSUSE и родственных дистрибутивах), update-rc.d (используется в Debian и родственных дистрибутивах) или rc-update (используется в Gentoo), примерно так:

# chkconfig xinetd on # update-rc.d xinetd enable # rc-update add xinetd default

Введите только одну из этих команд или найдите эквивалент для своего дистрибутива.

Заметим, что xinetd может не запускаться, если он не настроен на выполнение каких-либо служб. Так что, возможно, придется отложить его запуск до тех пор, пока вы не настроете xinetd для управления своим VNC-сервером.

Настройка xinetd

Серверы, которыми должен управлять xinetd , помещают файлы конфигурации в каталог /etc/xinetd.d. Таким образом, чтобы настроить xinetd на управление VNC, нужно создать или отредактировать файл с именем типа /etc/xinetd.d/vnc. (В некоторых дистрибутивах, таких как openSUSE, пакет VNC-сервера устанавливает такой файл.) В листинге 1 приведен пример.

Листинг 1. Пример настройки VNC для xinetd
service vnc { disable = no socket_type = stream protocol = tcp wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNLISTED port = 5900 }

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

  • service . VNC с разными параметрами можно запустить через несколько портов, но в этом случае в первой строке листинга 1 нужно присвоить VNC отдельное имя службы для каждого порта.
  • server . Этот параметр нужно изменить так, чтобы он указывал на главный двоичный файл VNC-сервера, который обычно называется Xvnc.
  • server_args . Некоторые из этих значений вы почти наверняка захотите изменить, как описано ниже.
  • port . VNC использует порты с номерами 5900 и выше. Можно запустить сервер с разными значениями параметров через разные порты. В этом случае каждому экземпляру нужно назначить свой номер порта.

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

  • -query localhost . Этот параметр указывает, что сервер VNC X должен проверять систему localhost на аутентификацию XDMCP. Его можно изменить, если вы хотите использовать один компьютер в качестве транслятора для доступа к программам другого.
  • -geometry 1024x768 . Этот параметр устанавливает виртуальное разрешение сеанса VNC. Заметим, что это разрешение не обязательно должно соответствовать разрешению обычного X-сервера, работающего на компьютере сервера. Можно создать несколько записей, работающих с разным разрешением, чтобы пользователи могли входить в VNC-сервер с тем разрешением, которое удобно для их локальных систем.
  • -depth 16 . Этот параметр задает глубину цвета. Чем ниже значение, тем быстрее обновляется дисплей, но на экране с большим количеством цветов могут появиться искажения. Диапазон допустимых значений от 2 до 32.

Имеются многие другие параметры, и некоторые из них зависят от VNC-сервера. Обращайтесь к документации по своему серверу VNC.

Настройка XDMCP-сервера

Большинство дистрибутивов Linux настраивают свои XDMCP-серверы только для управления локальным дисплеем. Чтобы обеспечить удаленный доступ, нужно перенастроить XDMCP-сервер так, чтобы принимать запросы на доступ с VNC-сервера, работающего на том же компьютере. Детали зависят от XDMCP-сервера. Три наиболее часто используемых в Linux ― это GNOME Display Manager (GDM), Light Display Manager (LightDM) и KDE Display Manager (KDM). Для других XDMCP-серверов, таких как XDM, требуются настройки, отличные от описанных здесь. В любом случае после перенастройки XDMCP-сервера его придется перезапустить.

Редактирование файла конфигурации XDMCP

Если вы не уверены, какой XDMCP-сервер используется в вашей системе, это можно определить, просмотрев листинг процесса с помощью строки dm , например:

$ ps ax | grep dm 929 ? Ss 0:00 /usr/bin/kdm 962 tty7 Ss+ 0:19 /usr/bin/Xorg -br:0 vt7 -nolisten tcp -auth \ /var/lib/xdm/authdir/authfiles/A:0-pp4shb 30157 pts/3 S+ 0:00 grep --color=auto dm

В первой строке этой распечатки указано, что работает KDM, поэтому для того чтобы VNC мог использовать XDMCP, нужно отредактировать файл конфигурации этого сервера. Файлы конфигурации большинства программ XDMCP имеют один и тот же формат. Они содержат разделы с именами, указанными в квадратных скобках, например . Строки, следующие за именем раздела, задают параметры через знак равенства, например: enable=true . В таблице 1 перечислены имена файлов конфигурации, имена разделов и параметры, которые необходимо определить, чтобы XDMCP работал на нескольких распространенных XDMCP-серверах Linux.

Таблица 1. Параметры, позволяющие XDMCP поддерживать VNC для разных XDMCP-серверов

Раздел XDMCP в файле конфигурации может полностью отсутствовать. Если он присутствует, он может явно отключать поддержку XMDCP, содержать закомментированные параметры или быть пустым. Независимо от исходного состояния файла необходимо сделать так, чтобы раздел XDMCP присутствовал и чтобы поддержка была включена. В качестве примера рассмотрим настройку KDM для включения XDMCP:

Enable=true

Некоторые дистрибутивы позволяют включить дополнительные меры безопасности, которые потребуется ослабить. Одна из них ― межсетевой экран. Сценарии межсетевых экранов обычно зависят от дистрибутивов, поэтому за инструкциями по настройке межсетевого экрана обращайтесь к документации на свою систему. Нужно, чтобы localhost имел доступ к порту 177, а VNC-клиенты - к порту 5900 (или любым другим портам, которые используются для VNC).

В OpenSUSE есть дополнительный файл конфигурации, который управляет некоторыми типами доступа, включая XDMCP-доступ: /etc/sysconfig/displaymanager. Откройте этот файл в текстовом редакторе и найдите следующую строку:

DISPLAYMANAGER_REMOTE_ACCESS="no"

Измените значение этого параметра на "yes" . Если оставить "no" , окно входа XDMCP-сервера при подключении к VNC-серверу отображаться не будет. В большинстве дистрибутивов такое изменение не требуется: этот файл использует только openSUSE.

Перезапуск XDMCP-сервера

Когда XDMCP-сервер настроен на поддержку удаленных соединений, его необходимо перезапустить. В дистрибутивах, которые запускают X посредством файла инициализации SysV, таких как Debian и Gentoo, это можно сделать с помощью параметра restart:

# /etc/init.d/gdm restart

В системе, которая для запуска X использует уровень runlevel, такой как Fedora или openSUSE, нужно перейти на уровень текстового режима (обычно 3), а затем вернуться на уровень GUI (обычно 5):

# telinit 3 # telinit 5

Имейте в виду, что при любом подходе производится выход из X, поэтому прежде чем продолжать, сохраните всю проделанную в сеансе X работу.

Тестирование и отладка

Теперь можно входить в систему с удаленного компьютера с помощью VNC-клиента. Большинство дистрибутивов Linux содержат команду vncviewer , так что можно ввести:

vncviewer

Чтобы войти в систему remotename через VNC. Если VNC настроена и работает правильно, результат будет примерно таким, как показано на рисунке 4. Если настроить несколько сеансов VNC через разные порты, можно указать номер сеанса VNC, передав его как часть имени хоста. Введите:

vncviewer:3

Чтобы войти в сеанс 3 (через порт 5903).

Рисунок 4. При настройке на работу с XDMCP VNC обеспечивает обычное приглашение Linux

Если при выполнении этого теста вы не видите экран входа в систему XDMCP, придется произвести отладку. Ниже приведены некоторые рекомендации.

  • Если vncviewer сообщает, что в соединении было отказано, это, скорее всего, означает, что суперсервер на компьютере сервера VNC не настроен должным образом. Проверьте конфигурацию xinetd и попробуйте перезапустить суперсервер. Возможно также, что межсетевой экран блокирует доступ к компьютеру VNC-сервера.
  • Если VNC-клиент запускается и подключается к серверу, но вы видите только серый экран с курсором, который можно перемещать, проблема, скорее всего, в настройке XDMCP-сервера. Проверьте описанные выше параметры и перезапустите XDMCP-сервер.
  • Просмотрите файлы журнала событий, как это обычно делается при отладке. Может потребоваться поиск всех файлов журнала в каталоге /var/log по ссылкам на ваши xinetd , XDMCP-сервер и VNC-сервер.

Вопросы безопасности VNC

RFB не является безопасным протоколом; большинство VNC-клиентов и серверов не шифруют свои данные. (VNC шифрует свои собственные пароли, но при описанном здесь подходе эти пароли не используются.) Будьте осторожны при выборе способа и места установки VNC. Если вы хотите использовать VNC в незащищенной сети, возможны три варианта:

  • использовать виртуальную частную сеть (VPN);
  • туннелировать протокол через SSH;
  • использовать вариант VNC, поддерживающий шифрование, такой как TigerVNC с возможностью шифрования Transport Layer Security.

При включении окон входа VNC, как описано в этой статье, во внешний мир открываются, по крайней мере, два порта (VNC и XDMCP). Оба порта можно ограничить правилами межсетевого экрана, чтобы свести к минимуму риск злоупотреблений. Заметим, что порт XDMCP (UDP 177) должен быть открыт только для localhost, поэтому правило межсетевого экрана для него может быть весьма ограничивающим.

Заключение

В целом соединение VNC и XDMCP ― полезный метод обеспечения удаленного входа с графическим интерфейсом пользователя для многопользовательских Linux компьютеров. Этот метод имеет преимущества по сравнению с прямым применением XDMCP в кроссплатформенной среде или при наличии проблем, вызванных межсетевым экраном или NAT. На многопользовательских компьютерах он предпочтительнее более распространенных способов прямого подключения VNC. При использовании этого метода необходимо рассмотреть вопросы безопасности. Будьте готовы настроить правила межсетевого экрана для ограничения нежелательного доступа извне и используйте шифрование, если данные передаются по ненадежной сети.

Поделиться