- Как подключиться к Linux из Windows
- Удалённый доступ к Linux с помощью VNC
- Шаг 1. Установка рабочей среды XFCE
- Шаг 2. Установка TightVNC
- Шаг 3. Настройка пароля
- Шаг 4. Настройка скрипта запуска
- Шаг 5. Запуск VNC сервера
- Шаг 6. Подключение из Windows
- Шаг 8. Настройка systemd
- Использование RDP для удалённого подключения
- Подключение к Linux из Windows по SSH
- Использование Putty для подключения к Linux
- Выводы
- Лучшие RDP клиенты для Linux
- Лучшие RDP клиенты в Linux
- 1. Remmina
- 2. Gnome Connections
- 3. Vinagre
- 4. Xfreerdp
- 5. Rdesktop
- Выводы
Как подключиться к 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
Его содержимое должно быть следующим:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800×600 :%i
PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Измените имя пользователя 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:
Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
sudo apt-get install xfce4
Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:
echo xfce4-session >~/.xsession
Перезапустите сервис xrdp:
sudo systemctl restart xrdp.service
Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:
Если всё сделано правильно, вы увидите рабочий стол Xfce:
Подключение к Linux из Windows по SSH
Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’
Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Для того, чтобы подключиться к устройству, на котором запущен 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 до тех пор, пока программа не установится и не запустится:
Когда установка Xming завершится, откройте Putty и в настройках сессии для вашего подключения в разделе SSH -> X11 включите флажок напротив опции Enable X11 forwarding, а также, в строке Отображение дисплея X впишите значение localhost:0, после чего откройте сессию подключения с помощью кнопки Open:
В открывшемся терминале Putty введите консольное название программы, обладающей графическим интерфейсом. В данном примере введено название графического редактора drawing:
(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):
Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.
Выводы
Сегодня не существует слишком уж больших проблем для подключения к Linux из Windows. Способов существует довольно много. Каждый из них обладает своими достоинствами и недостатками, например, скорость работы VNC, да и других тоже, существенно зависит от скорости сетевого соединения. Существуют также программные средства, позволяющие подключаться к Linux-серверам используя мессенджеры или браузеры.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Лучшие RDP клиенты для Linux
Протокол RDP или Remote Desktop Protocol — это основной протокол удалённого доступа в операционных системах семейства Windows. В современных версиях Windows уже по умолчанию предустановлено всё необходимое программное обеспечение для обеспечения доступа к вашему компьютеру удалённо, а также для удалённого подключения к другим компьютерам с Windows.
Для операционных систем на базе ядра Linux было разработано несколько свободных клиентов, реализующих поддержку протокола RDP. В этой статье мы собрали лучшие клиенты RDP для Linux, работающие как в графическом интерфейсе, так и в командной строке.
Лучшие RDP клиенты в Linux
1. Remmina
Для этой операционной системы существует не так много клиентов и это лучший клиент RDP для Linux. У программы есть удобный графический интерфейс, множество различных настроек, возможность сохранения ярлыков для быстрого подключения к удалённым узлам с нужными вам настройками. Но автоматически ярлыки не сохраняются, вам надо будет делать это вручную. Кроме протокола RDP поддерживается VNC и SSH. Программа разрабатывается в рамках проекта FreeRDP, с использованием библиотеки GTK. Есть порт на Qt. Разрабатывается достаточно активно и новые версии выходят раз в несколько месяцев. Для установки достаточно выполнить команду:
2. Gnome Connections
Это совсем новая утилита, разработка которой стартовала в начале 2020 года. Connections — очень простое приложение, сделанное специально для Gnome и предназначенное для управления удалёнными подключениями. Из протоколов поддерживаются RDP и VNC. В отличие от Remmina, настроек в утилите совсем нет, вы можете только указать адрес и порт компьютера, к которому надо подключится и включить или отключить масштабирование. И всё никаких настроек передачи звука, буфера обмена, захвата клавиш, разрешения экрана нет. Программа всё ещё находится в разработке, но её уже можно установить из Flathub:
flatpak install flathub org.gnome.Connections
А для запуска используйте команду:
flatpak run org.gnome.Connections
3. Vinagre
Это ещё одно приложение для Gnome, которое раньше позиционировалось как программа по умолчанию для управления удалёнными соединениями в Gnome. Настроек здесь уже немного больше, по сравнению с Connections, но всё ещё меньше, чем у Remmina. При подключении вы можете выбрать протокол, имя пользователя и разрешение экрана, а также надо ли масштабировать рабочий стол удалённой машины. Из протоколов поддерживается RDP, SSH, SPICE и VNC. Программа довольно простая и свою работу выполняет, но разрабатывается уже не очень активно. Установить в Ubuntu можно командой:
4. Xfreerdp
С полностью графическими клиентами RDP для Linux мы закончили. Но есть ещё несколько использующих консольный интерфейс. Первая из них — xfreerdp. Настроек здесь ещё больше чем у Remmina, но задавать их все надо в командной строке. Поддерживается только протокол RDP. Программа достаточно активно разрабатывается и поддерживает все необходимые новшества протокола RDP. Для подключения к серверу используется опция /v. Например:
xfreerdp /v:ip_сервера:порт /u:имя_пользователя
Для установки программы в Ubuntu используйте команду:
sudo apt install freerdp2-x11
5. Rdesktop
Последняя в нашем списке консольная утилита rdesktop. Это самая первая реализация клиента RDP для Linux. В далёком 2009 году, проект FreeRDP был создан на основе форка Rdesktop. Сейчас проект почти не развивается, а с 2019 года ищет мэйнтейнера. И у программы есть ещё одна проблема. В новых версиях Windows компания Microsoft добавила новую авторизацию NLA (Network Level Authentication). Программа Rdesktop её не поддерживает, поэтому если вы захотите использовать её для подключения к Windows, эту технологию стоит отключить. Или же вы можете использовать любую другую программу из перечисленных выше. Чтобы подключится к удалённой машине надо просто передать её адрес программе:
Для установки rdesktop выполните:
sudo apt install rdesktop
Выводы
В этой статье мы разобрали лучшие программы для подключения по RDP из Linux, которые вы можете использовать для своей работы. Может некоторые из них не такие уже и лучшие, но других у нас нет. А каким клиентом пользуетесь вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.