Как подключиться к Linux из Windows
В мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — Linux и Windows. Поэтому очень часто возникают ситуации, когда приходится подключаться по сети из одной операционной системы к другой для выполнения разнообразных операций.
В этой статье мы рассмотрим варианты подключения к Linux из Windows. Существуют бесплатные и условно бесплатные утилиты вроде AnyDesk или TeamViewer, но установка их довольно тривиальна и не нуждается в дополнительном пояснении. Утилиты подобного рода обладают рядом ограничений при бесплатном некоммерческом использовании, либо их функциональность не удовлетворяет тем или иным потребностям пользователя. Мы рассмотрим полностью бесплатные способы как подключится к Linux из Windows.
Удалённый доступ к Linux с помощью VNC
На сегодняшний день самое популярное удаленное подключение к Linux из Windows, с использованием привычный в Windows графического интерфейса, является VNC (Virtual Network Computing) — утилита, использующая протокол RFB (Remote FrameBuffer — удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
В качестве сервера VNC в данном примере будет использоваться TightVNC, установленный в Ubuntu 20.04. Для установки сервера VNC необходимо выполнить ряд действий:
Шаг 1. Установка рабочей среды XFCE
Xfce — одна из самых легковесных рабочих сред, используемых в Linux, она будет быстро работать даже при слабом и нестабильном сетевом подключении. Установите её с помощью команд:
sudo apt install xfce4 xfce4-goodies
Шаг 2. Установка TightVNC
Далее установите TightVNC:
sudo apt install tightvncserver
Шаг 3. Настройка пароля
Перед началом выполнения всех действий необходимо задать пароль пользователя VNC. Выполните команду:
Вам будет предложено создать новый пароль, а также пароль только для просмотра. Откажитесь от второй опции:
Завершите процесс vncserver:
Шаг 4. Настройка скрипта запуска
Отредактируйте скрипт, который выполняется после запуска VNC-сервера:
Он должен содержать такой текст:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
Сделайте файл исполняемым:
Шаг 5. Запуск VNC сервера
На этом этапе уже можно запустить VNC-сервер с помощью команды:
Шаг 6. Подключение из Windows
Для того, чтобы подключиться из Windows к вашему Linux-серверу, используйте TightVNC Viewer.
Укажите IP-адрес компьютера, к которому нужно подключиться, и номер порта в поле Remote Host. В данном примере — 192.168.56.102::5901:
После того, как будет введён пароль, вы должны увидеть рабочий стол Xfce:
Шаг 8. Настройка systemd
Для того, чтобы запуск вашего VNC-сервера добавить в автозагрузку надо использовать systemd. Создайте новый файл сервиса systemd:
sudo nano /etc/systemd/system/vncserver@.service
Его содержимое должно быть следующим:
Измените имя пользователя ubuntu и рабочего каталога ubuntu на нужные вам значения. Если у вас запущен VNC-сервер, остановите его:
Сообщите systemd о появлении нового сервиса:
sudo systemctl daemon-reload
Добавьте запуск вашего нового сервиса в список автозагрузки:
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1
Использование RDP для удалённого подключения
Помимо VNC, для управления Linux-сервером из Windows можно воспользоваться RDP (Remote Desktop Protocol). Для этого на компьютере с Ubuntu 20.04 установите утилиту xrdp:
sudo apt install xrdp
Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
sudo apt-get install xfce4
Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:
Перезапустите сервис xrdp:
sudo systemctl restart xrdp.service
Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:
Если всё сделано правильно, вы увидите рабочий стол Xfce:
Подключение к Linux из Windows по SSH
Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:
Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:
Для того, чтобы подключиться к устройству, на котором запущен SSH-сервер, необходимо ввести имя пользователя и IP-адрес. Команда для подключения по SSH используя PowerShell выглядит так:
Здесь ubuntu — имя пользователя на удалённом компьютере, а 192.168.56.1 — IP-адрес Linux-сервера, на котором запущен демон SSH.
При первом подключении необходимо подтвердить использование специального персонального ключа для шифрованного соединения по SSH-протоколу (введите слово Yes), затем введите пароль пользователя (в данном случае для пользователя ubuntu):
Как видите, соединение прошло успешно. Теперь можно выполнять все команды так же, как если бы вы их выполняли используя стандартный Linux SSH-клиент:
Для завершения терминальной сессии на удалённом компьютере введите команду exit. Теперь вы знаете как выполняется подключение к Linux из Windows по SSH.
Использование Putty для подключения к Linux
Пожалуй, одним из самых популярных способов подключения к Linux из Windows является кроссплатформенная утилита Putty — небольшая по размерам, но очень часто незаменима для подключения по таким протоколам как SSH, Telnet, rlogin и даже с помощью последовательных портов.
Для обычного подключения к Linux-серверу по протоколу SSH достаточно в поле Host Name (or IP—address) указать его IP-адрес и нажать кнопку Open (в данном примере Linux-сервер имеет IP-адрес: 192.168.56.102):
При первом подключении Putty предупредит, что используется специальный ключ безопасности и его нужно добавить в доверенные хосты. Нажмите кнопку Да:
Далее нужно будет ввести логин и пароль. Если всё сделано правильно, запустится удалённая сессия терминала Linux:
Мало кто знает, что Putty позволяет запустить почти любое приложение, установленное на компьютере с Linux, по сети в Windows. Для этого на компьютере с Windows нужно установить собственный X-сервер. В данном примере воспользуемся Xming.
Скачайте Xming с официального сайта. Установка довольно тривиальная, поэтому не будем на ней останавливаться. Ничего не меняйте в процессе установки. Просто нажимайте кнопку Next до тех пор, пока программа не установится и не запустится:
В открывшемся терминале Putty введите консольное название программы, обладающей графическим интерфейсом. В данном примере введено название графического редактора drawing:
(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):
Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.
Выводы
Сегодня не существует слишком уж больших проблем для подключения к Linux из Windows. Способов существует довольно много. Каждый из них обладает своими достоинствами и недостатками, например, скорость работы VNC, да и других тоже, существенно зависит от скорости сетевого соединения. Существуют также программные средства, позволяющие подключаться к Linux-серверам используя мессенджеры или браузеры.
7 лучших клиентов удаленного доступа в Linux
Контроль над удаленным компьютером может рассматриваться как акт агрессии, но иногда он просто необходим.
Известны случаи, когда пользователи используют удаленные сессии для уже используемой машины (звучит необычно, но имеет место быть для организации работы с несколькими рабочими столами). Большинство пользователей не знают, когда именно им понадобится данная функциональность.
Опытные пользователи Unix-систем часто говорят о SSH и командной строке, как об инструментах получения доступа к графическому рабочему столу, но существуют отдельные приложения для данной цели.
Портал Techradar протестировал систему VNC и ее функции во многих клиентах. Тем не менее, существуют другие протоколы и виды доступа к удаленному рабочему столу. Растущая популярность подобных клиентов заключается в поддержке нескольких протоколов передачи, поэтому независимо от типа используемого сервера и целевой машины, Вы найдете подходящее решение.
Исследователи придерживались принципа справедливой оценки различных протоколов. Например, NoMachine NX поддерживает подключения VNC, но он проверялся в связке с собственным сервером NX, что вполне разумно.
Клиент TightVNC не тестировался, потому что он очень схож с реализацией TigerVNC. Оба продукта имеют одинаковую кодовую базу, но TigerVNC имеет несколько дополнительных функций.
Как проходило тестирование
Ключевым элементом эффективного клиента удаленного рабочего стола является быстрый отклик на выполняемые операции. Идеальный интерфейс не будет так хорош, если вам нужно ждать по две минуты из-за каждой регистрации нажатия клавиш.
При тестировании проверялась способность удаленно воспроизводить игру Armegatron. В этой нетребовательная игре на OpenGL на обновление экрана требуются доли секунд времени. Результаты могут быть несколько субъективны, но данный способ оказался очень действенным при демонстрации отзывчивости клиентов.
Клиенты были протестированы совместно с локальным компьютером с 4-х ядерным процессором и 16 гигабайтами памяти в гигабитной локальной сети под Ubuntu 14.04.3. В качестве серверов использовался сервер X11 VNC и официальный сервер NX для клиентов NX. Функциональность на базе протокола RDP поддерживается некоторыми продуктами, но на практике не была протестирована.
Сами клиенты работали на виртуальной машине с 2-х ядерным процессом Core i7, 4Гб ОЗУ и Fedora 23.
RealVNC Viewer

Это родительская программа для TigerVNC, но содержит меньшее количество опции. Тем не менее, приложение умеет автоматически определять VNC сервера, упрощая и ускоряя подключение. Выберите “Опции”, и Вы сможете изменять размер окна, адаптируя его под ваш монитор, работать в полноэкранном режиме и переопределять автоматические параметры сжатия для принудительного отображения более 256 цветов.
Подключение выполняется быстро и просто, но производительность отстает от других просмотрщиков VNC в данном тесте. Фиксировались существенные замедления при работе с рабочим столом и при запуске Armegatron, которые оценивались примерно в полсекунды.
Технологии матричного растрирования или дизеринга затрудняли работу, когда происходили глюки, во время тестирования это наблюдалось несколько раз. Аналогичные проблемы наблюдались и с копиями RealVNC, которые включают меньшее количество опций. TigerVNC является отдельной ветвью развития кодовой базы VNC, поэтому содержит участки кода из RealVNC и TightVNC, хотя процесс разработки последних продолжается.
Таким образом, RealVNC напоминает менее эффективную версию TigerVNC и сработал в тестах не лучшим образом. Возможно поддержка передачи аудио потока улучшила бы мнение о продукте. Как бы то ни было, в случае непредвиденных обстоятельств, портативный автономный клиент будет отличным вариантом.
Вывод: далеко не самый быстрый клиент, но подойдет для случаев экстренного доступа.
Remmina

Remmina не является официальным Gnome-клиентом, но определенно внешне очень напоминает рабочий стол Gnome со стилями GTK. Хорошо проработанные шаблоны работают отлично как на небольшом ноутбуке, так и на гигантском мониторе.
Минималистичный главный экран содержит панель инструментов и список доступных подключений. После подключения, открывается новое окно с отображением удаленного рабочего стола. Несколько подключений можно контролировать с помощью именованных вкладок.
Полезные элементы управления панели остаются видимыми на протяжении всего подключения, позволяя очень быстро масштабировать окно, чтобы заполнить доступное пространство монитора, перейти в полноэкранный режим просмотра или даже раздельно изменять горизонтальную или вертикальную шкалы окна.
В отличие от некоторых клиентов, Вы не получите слишком детальный контроль над параметрами протокола, например, над сжатием, но Вы все еще можете выбирать цветовые режимы и переключаться между четырьмя уровнями качества, что является разумным способом управления пропускной способностью сети и использованием ресурсов ЦПУ. Управление подключениями и добавления подключений в закладки осуществляются интуитивно, хотя функция автоматического обнаружения отсутствует.
В Remmina Вам не доступны чат или функция передачи файлов для основных VNC подключений, но данная функциональность имеется для RDP ссылок, которые также поддерживаются клиентом совместно с NX (NoMachine NX и Free NX), XDMCP и SSH, что делает Remmina универсальным клиентом с поддержкой широкого набора протоколов.
Обратите внимание, что вам придется загрузить и установить дополнительные протоколы, включая VNC с помощью плагинов.
Вывод: отличные функции, отличная производительность, неясно, что можно улучшить.
TeamViewer

Первым преимуществом, а может в некоторых случаях и недостатком является использование проприетраного протокола, который организует подключение к клиенту через управляющий центральный сервер.
Другое преимущество, связанное с большим количеством доступных клиентов, заключается в том, что пользователь может просматривать удаленную систему практически отовсюду, даже на заблокированных системах, в которых недоступно SSH подключение или даже на машинах с активными корпоративными фаерволами. Решение поддерживает Windows и Mac, а значит является простым способом управления машинами на различных ОС.
Команда TeamViewer серьезно поработала над улучшением производительности, а последняя версия обещает увеличить скорость работы в 15 раз по сравнению с предыдущими версиями. Armagetron работал также плавно, как и в случае с Remmina, радуя приличным качеством графики во время локального подключения.
Есть дополнительные преимущества использования проприетарного протокола. TeamViewer может работать с аудио-потоком, включает чат, функцию передачи данных и даже сервис IP-телефонии.
Соединения управляются раздачей PIN-кода на одной машине и ввода этого кода на другой машине, что не является безопасной мерой, но Вы всегда сможете создать аккаунт и настроить неконтролируемый доступ. Бесплатная версия доступна для некоммерческого использования, напоминание об этом появляется при завершении сеанса.
За последние несколько лет TeamViewer развился в привлекательную альтернативу традиционным подключениям VNC, особенно если Вам требуется кроссплатформенность.
Вывод: TeamViewer стал полноценным мощным продуктом, который является прекрасной альтернативой традиционным сервисам, несмотря на то, что программа не сильно приветствуется поклонниками открытого ПО.
TigerVNC

Хотя, если Вы зайдете на вкладку параметры, то найдете большое количество настроек, связанных с подключениями и протоколами. Программа автоматически определит оптимальные параметры для вас, но можно самостоятельно настроить степень сжатия и цветовую передачу.
Высокая степень сжатия позволит сэкономить пропускную способность сети, необходимую для эффективного рабочего стола и драгоценные ресурсы процессора. При тестировании с Vino и стандартными серверами VNC TigerVNC, отработал достойно, хотя подключение было недоступно, если пароль первоначально не был задан.
Что касается времени отклика, как курсор мыши, так и нажатия клавиатуры работали быстро и стабильно. Функция масштабирования отсутствует, за исключением полноэкранного режима, поэтому при использовании небольших мониторов на локальной машине могут отображаться полосы прокрутки.
Клиент достаточно полнофункционален и был изначально предназначен для системных администраторов, но даже в этом случае некоторые элементарные удобства были бы очень кстати. Согласитесь, даже опытный IT-инженер не всегда хочет вручную вводить IP-адрес для подключения.
Вывод: множество различных опций и высокое быстродействие с одной стороны и некоторые недоработки интерфейса, и отсутствие дружественных пользователю аспектов, с другой стороны.
Vinagre

Хотя название приложения больше вызывает вкусовые ассоциации, данный просмотрщик удаленного рабочего стола можно найти в стандартном меню Gnome, потому что утилита фактически является составной частью рабочего стола Gnome. При запуске инструмента открывается обычное окно.
Панель справа отображает доступные сервера и закладки. Основная часть окна предназначена для подключения клиента к серверу, отображение может осуществляться в полноэкранном режиме или с помощью прокручиваемых окон с полосами прокрутки.
Если Вы открываете несколько сеансов с различными серверами, удаленные экраны появятся в нескольких вкладках. Закладки работают стабильно, но могут привести к путанице, потому что их сложно отличить от обнаруженных серверов.
Как и другие протестированные клиенты VNC, производительность программы зависит от сервера и активированных функций.
Vinagre тестировался в паре с сервером X11VNC и с Vino. Vino обладает графической оболочкой и является VNC сервером, разработанным для простого обмена экранами между компьютерами. Никаких проблем при подключении к удаленному экрану и при использовании параметров сервера Vino, в частности сжатия и глубины цвета, не наблюдалось.
Одной из любопытных проблем стала задержка обновления курсора. Скорее всего, не стоит связывать эту проблему с подключением, потому что все меню и графические элементы отображались практически мгновенно. Тем не менее, это очень неудобная проблема, ведь часто нужно знать, где находится курсор в любой момент времени.
При тестировании не удалось добиться нормальной работы Armagetron из-за потери управления с клавиатуры после запуска игры, что сделало невозможным оценку его возможностей. Это очень серьезная неприятность, а интерфейс приложения является одним из самых дружественных.
Вывод: простой в использовании клиент, работает неплохо до тех пор, пока не потеряете из виду курсор.

Так как Vinagre тестировался в паре с сервером-компаньоном, при тестировании Krdc использовалось стандартное окружение KDE, как на клиентской, так на серверной стороне, а качестве сервера выступал Krfb сервер.
Несмотря на то, что в продукте реализованы аналогичные с остальными участниками тестирования протоколы VNC, данная комбинация оказалась худшей по отзывчивости после TeamViewer. Krdc работал гораздо лучше со стандартным VNC сервером и с X11VNC, чем с Krfb.
При отказе от Krfb, клиент Krdc работал совсем неплохо. При тестировании в Armegatron время отклика было на одном уровне с конкурентами. Отзывчивость и скорость передачи кадров были на высоте, даже в случаях, когда Krdc испытывал некоторые проблемы с искажением фоновых изображений.
Для изменения опций отображения доступна кнопка для переключения полноэкранного и масштабируемого режимов просмотра. Поддерживаются вкладки для одновременного отображения нескольких подключений, и имеется боковая панель справа, отображающая закладки, недавние подключения и обнаруженные в локальной сети сервера.
Тем не менее, работа с Krdc была лишена каких-либо затруднений. Клиент поддерживает протокол RDP, используемый для удаленного доступа к системам Windows. При добавлении плагина NX решение могло бы быть еще более полезным. Если Вы работаете в KDE, и вам нужен клиент VNC для редких случаев, нет убедительных причин для отказа от Krdc.
Вывод: в паре с Krfb фиксируется низкая производительность, но клиентская сторона при этом отличается высокой эффективностью.
NoMachine NX Client

NoMachine стремится вернуть былое величие, но серьезное нагромождение возможностей не учитывает самый главный аспект- взаимодействие сервера и клиента. Подход приложения отличается от других стандартных просмотрщиков VNC.
Протокол NX работает по SSH. Эта мера добавляет безопасность и другие преимущества, которые не свойственны протоколу VNC. Продукт использует интеллектуальные методы шифрования и сжатия данных, оптимизировано использует кеш для экономии пропускной способности сети. Если Вы хотите сохранить полосу пропускания, можно пойти на другие хитрости, например, использовать аудио-поток хост-машины для передачи.
Преимущество использования SSH заключается в том, что, если Вы используете учетную запись на целевой машине, можно просто авторизоваться и запустить новый сеанс. Захватить уже запущенный экран является трудной задачей, хотя NoMachine может справляться с ней с помощью стандартного подключения VNC путем запуска параллельного сеанса (так называемой Shadow сессии).
Сессии Shadow работают стабильно и, в зависимости от настроек, удаленная машина может автоматически подтвердить подключение. Как правило, в этом случае подключение работает медленнее, чем при разделении на потоки собственного сеанса.
Также, как и VNC, NoMachine также поддерживает RPC для машин Windows с аналогичным интерфейсом, что позволяет использовать программу в качестве основного инструмента удаленного доступа. Хотя клиентское ПО позволяет настраивать подключения и сохранять настройки, оно понравится не всем пользователям.
NoMachine не поддерживает просмотр в отдельных вкладках и несколькодругих удобных функций, и Вам придется настраивать сеансы в различных запускаемых во время сессий приложениях. Но все эти недостатки теряют силу, когда Вы видите программу в действии.
NX на протоколе NX дает наилучшую производительность, а полная кроссплатформенность с поддержкой Mac и Windows делает клиент отличным выбором, несмотря на некоторые ограничения бесплатной версии.
Вывод: подключения NX позволяют воспроизводить звук и позволяют быстро работать даже с требовательными приложениями
Окончательный вывод
Опустив реальные проблемы некоторых клиентов, заметим, что существует целое противоборство идеологий программ удаленного доступа для Linux. Надо признать, что NoMachine, несмотря на отказ от стандартных технологий VNC превосходно справляется со своей задачей.
При тестировании, игра на графической платформе OpenGL работала шустро, и в нее можно было комфортно играть. NoMachine может быть довольно сложен в настройке, зато в работе он проявил себя лучше большинства конкурентов. Протокол NX еще можно совершенствовать, но клиентское ПО обладает широкими возможностями.
Утилита Krdc из стандартного набора KDE отработала тоже хорошо, несмотря на катастрофические результаты при тестировании с сервером-компаньоном. Возможно, для многих пользователей Krdc это будет серьезной проблемой, ведь по умолчанию они могут использовать эту пару вместе, разочаровавшись в производительности. Если Вы работаете с рабочими столами KDE и нуждаетесь в простом клиенте VNC, вероятно вам стоит подыскать другой вариант.
TeamViewer был серьезно улучшен за последние годы. Он стал быстрым, отзывчивым и простым в использовании. Дополнительные возможности, а именно IP-телефония и чат делают программу отличным выбором для пользователей, которым важно коммуникативное взаимодействие с удаленными пользователями. Программа имеет закрытый исходный код и не поставляется с системой, что может разочаровать ряд пользователей.
Более того, клиент имеет лучший набор функциональных возможностей, а также продуманный и дружественный интерфейс. Хотя поддерживается разделение на несколько окон, элементы управления всегда остаются доступны.
Remmina поддерживает протокол NX, отлично справляется с обнаружением серверов и сохранением подключений и в конечном итоге становится лидером тестирования программ удаленного доступа для Linux.















