Connect to ubuntu from windows vnc

В  мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В

В  мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — 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 update

sudo apt install xfce4 xfce4-goodies

Шаг 2. Установка TightVNC

Далее установите TightVNC:

sudo apt install tightvncserver

Шаг 3. Настройка пароля

Перед началом выполнения всех действий необходимо задать пароль пользователя VNC.  Выполните команду:

vncpasswd

Вам будет предложено создать новый пароль, а также пароль только для просмотра. Откажитесь от второй опции:

Завершите процесс vncserver:

vncserver -kill :1

Шаг 4. Настройка скрипта запуска

Отредактируйте скрипт, который выполняется после запуска VNC-сервера:

nano ~/.vnc/xstartup

Он должен содержать такой текст:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

Сделайте файл исполняемым:

chmod +x ~/.vnc/xstartup

Шаг 5. Запуск VNC сервера

На этом этапе уже можно запустить VNC-сервер с помощью команды:

vncserver

Шаг 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 800x600 :%i
PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target

Измените имя пользователя ubuntu и рабочего каталога ubuntu на нужные вам значения. Если у вас запущен VNC-сервер, остановите его:

vncserver -kill :1

Сообщите systemd о появлении нового сервиса:

sudo systemctl daemon-reload

Добавьте запуск вашего нового сервиса в список автозагрузки:

sudo systemctl enable vncserver@1.service

Запустите VNC-сервер:

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

Установите Xfce:

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 по протоколу 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 выглядит так:

ssh ubuntu@192.168.56.1

Здесь 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 IPaddress) указать его 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:

drawing &

(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):

Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.

Выводы

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

You’re in one room, sitting at a PC; the data you want is in another, on a computer running Ubuntu. If both computers are in the same house, no problem, but what if they’re in different offices? It might be a bit of a walk!

The answer, therefore, is setting up a remote desktop connection. Learn how to set up a remote desktop from Windows to Ubuntu.

Why Remote Connect to Ubuntu From Windows?

There are several reasons why you might want to remote connect to your Ubuntu computer. Perhaps you’re at work and need to log into your home computer. Alternatively, you might have an Ubuntu PC in one room and your Windows PC in another. Maybe you want to run updates on Ubuntu or access files.

Remote control Ubuntu using RDP

Alternatively, you might be running an Ubuntu server for data, a website, or even a game. Either way, a method of setting up a remote connection will save a lot of time and effort.

You have three key options for establishing a remote connection with an Ubuntu machine running the default desktop environment:

  1. Remote Desktop (RDP)
  2. Virtual Network Computing (VNC)
  3. Third-party remote desktop software

First, however, you need to make some preparations:

  1. Enable port forwarding on the remote device’s router
  2. Find the IP address
  3. Install SSH

Let’s look at these in turn.

Prepare Windows RDP to Ubuntu Connections

Remote access solutions are simple to set up and manage across the same network. However, if you’re working from home, this instantly complicates things.

To use VNC and RDP with a PC on a different network, you’ll need to enable access to the remote computer via its router. You can do so by using «port forwarding.» However, you’ll need the IP address before you set this up.

Find Your Ubuntu PC’s IP Address

Before you can establish remote access to your Ubuntu device from Windows over RDP or VNC, you’ll need the IP address.

The first way is the easiest. Physically go to the Ubuntu machine, press Ctrl + Alt + T to open the Terminal, and input the command:

 ifconfig 

Look for the «inet addr» against the connection you’re currently using. For instance, if you’re on Wi-Fi, look for wlan0. If the computer is connected to the network via Ethernet, look for eth0.

Another way to find the IP address is to find the network connection icon in the panel, right-click, and select Connection Information. You’ll find the IP address listed here.

Is neither of these options open? You can also connect to your router directly via your computer’s browser.

Once signed into the router’s admin console, you’ll be able to see which devices are connected. Just look for your Ubuntu device name, find the IP address, and make a note of it for later.

Enable Port Forwarding

To access a computer on another network (e.g., your work network), you need to enable port forwarding on the router where your Ubuntu PC is located.

Start by establishing the IP address of the router. You can use the ip r command for this, with grep to specify the default:

 ip r | grep default 

Make a note of the IP address, then open it in your browser to display the router’s admin console. Enabling port forwarding is simple:

  • Look for the Port Forwarding settings
  • Create a New Rule labeled Remote Desktop
  • Set the Internal Port number to 3389
  • Set the External Port number to 3389
  • Input the IP address of the Ubuntu PC
  • Click Save

Note that these steps are generic and will differ depending on your router. For detailed steps, check your router documentation.

Once saved, you should be able to RDP into the Ubuntu PC remotely via your organization’s static IP address. If your employer does not use a static IP (unlikely, but it happens), use a dynamic DNS provider instead.

Your organization’s system admin can set up port forwarding if you’re not using commercial remote desktop tools.

Set Up Access Using SSH

To save time, you might want to install PuTTY on your PC (or just try the built-in Windows SSH function). It enables you to set up an SSH connection, which gives remote access to the Ubuntu command line.

To be clear: this isn’t a remote desktop option; there is no mouse control. But it is helpful to install the tools you’ll be using remotely. SSH is often disabled by default, however, so if it is not installed, you’ll need to fix it.

In short, it depends on which Ubuntu version you’re using and whether you’ve used SSH previously.

Once installed via the terminal (sudo apt install openssh-server), you’ll be able to make a remote connection to the Ubuntu desktop. Simply enter the IP address and the Ubuntu username and password. You can then use the terminal to install the tools you need for RDP and VNC.

1. Remote Access Using Remote Desktop Protocol

The easiest option is to use Remote Desktop Protocol or RDP. Built into Windows, this tool can establish a remote desktop connection across your home network. All you need is the IP address of the Ubuntu device to establish a remote desktop connection to Ubuntu from Windows.

While the necessary software is pre-installed on Windows, you’ll need to install the xrdp tool on Ubuntu. To do this, open a terminal (Ctrl + Alt + T) and enter:

 sudo apt install xrdp 

Follow this with:

 sudo systemctl enable xrdp 

Wait for this to install, then run the Remote Desktop application in Windows using the Start Menu or Search. Type rdp, then click on Remote Desktop Connection. With the app open, input the IP address in the Computer field.

Remote connect to Linux with RDP

Next, click Show Options and add the Username for the Ubuntu PC. You can click Save to keep these settings for reuse on another occasion.

Click Connect to start the connection and input the Ubuntu account password when prompted. The connection will then be established, giving you full mouse and keyboard access to your remote Ubuntu computer. If you plan to use this connection often, you can create a configuration file to save time.

Troubleshooting RDP to Ubuntu

While RDP is an excellent option for remote connecting to your Ubuntu PC, it’s unreliable on some Ubuntu versions, like 18.04 LTS. There appears to be an issue establishing a remote connection while already logged into the same account on Ubuntu.

As such, the simple way around this is to log out of the Ubuntu computer.

If this isn’t possible, try switching the RDP connection from the Xorg server to X11rdp. Wait for that to fail, then try Xorg again.

You might also attempt a connection after restarting the Linux machine.

Ubuntu 22.04 LTS should include a fix to make RDP to Ubuntu smoother.

2. Connect to Ubuntu From Windows With VNC

Another option with full remote desktop functionality is VNC (Virtual Network Computing). It requires a client application on the Windows PC and a server on Ubuntu.

On the remote PC, install the TightVNC Server component after checking for updates:

 sudo apt update 

Then install the server utility:

 sudo apt install tightvncserver 

You’ll then need to run it:

 sudo tightvncserver 

At this point, you’ll be prompted to set a password for the connection. Make a note of the desktop number, usually :1.

Now that TightVNC Server is set up on Ubuntu, you’ll need to install the client on Windows. You can download it from the official website—make sure you choose the correct version, as it is available in 32-bit and 64-bit flavors.

Download: TightVNC

TightVNC tools are only available as a bundle, so once installed, look for TightVNC Viewer in Windows search.

Once you’ve launched the viewer, input the IP address of the Ubuntu box in Remote Host, followed by the desktop number. So, it might look like this:

 192.168.0.99:1 
Remote desktop from Windows to Linux with VNC

Input the password when prompted and commence your remote desktop activity!

Making TightVNC More Secure

By default, TightVNC will encrypt your password but nothing else. It makes it insecure to connect over the internet. Fortunately, you can enhance security with SSH and Xming.

Download and install the Xming tool for Windows from SourceForge to use this. Once this is done, look for the desktop shortcut, right-click, and choose Properties.

Look for the Shortcut tab, and in the Target field, enter the following:

 "C:Program Files (x86)XmingXming.exe" :0 -clipboard -multiwindow 

Click Apply to save the change, then OK. Double-click the icon to run Xming, then open PuTTY. Here, expand the menu on the left to Connection > SSH > X11.

Check Enable X11 Forwarding, then return to Session at the top of the menu.

Enable X11 forwarding to use remote desktop with SSH

Enter the IP address for the remote device and click Open. Moments later, a secure connection to the remote Ubuntu desktop will be available.

Everything you’ve learned so far is standard if you need to access a Linux PC on your local network remotely. If you need to go beyond that, the steps to enable port forwarding will help.

But what if you have no intention of accessing your router? If this seems too complicated, third-party commercial software designed to facilitate remote desktops is required. Several are available, but not all support Linux.

We suggest you try out:

  • NoMachine: Initially released as a Linux remote desktop tool, this is now available across all major platforms. Install on the target computer, then on your local machine, and set up a remote connection.
  • Chrome Remote Desktop: Uses your Google account to manage remote access via the Chrome browser.
  • TeamViewer: A well-known commercial remote desktop solution. Simply install the client and host software beforehand. It also provides a host app for remotely accessing Raspberry Pi devices.

These tools require setting up before use. If you have a colleague near the remote PC, they might be able to help. See our list of remote access tools for more suggestions.

Choosing the Right Ubuntu Remote Desktop Solution

Which remote desktop tool for connections between Ubuntu and Windows should you use?

Three main options are available:

  • RDP: Uses the Windows Remote Desktop Protocol via the open-source xrdp implementation.
  • VNC: Virtual Network Computing is an alternative to RDP but less secure.
  • Commercial remote software: Most of these require minimal setup and support Linux.

You can also use SSH to issue remote instructions to your Ubuntu PC.

We’ve shown you three ways to establish a remote connection to your Ubuntu computer or server from Windows. Each has its advantages and disadvantages. But if you just want to dip into Ubuntu, try the Windows Subsystem for Linux on Windows 10.

If you use separate Windows and Linux computers, sometimes you need to connect to Linux system from your Windows machine. The Linux machine can function as backup storage, server, or just another desktop to link.

You Might Be Interested In

In this tutorial, we cover how to control your Ubuntu machine from Windows one remotely. There are three methods to connect to your Ubuntu remotely.

  1. Connecting to Ubuntu via SSH.
  2. Connecting to Ubuntu via Remote Desktop Connection.
  3. Connecting to Ubuntu via VNC (Virtual Network Computing).

Before starting our tutorial, you need to make sure that your Ubuntu is up-to-date using the following commands:

sudo apt update
sudo apt upgrade

Know your Ubuntu IP

Step 1. First, we need to install the net-tools package.

sudo apt install net-tools

Install net-tools Package

Install net-tools Package

Step 2. To get the IP of the Ubuntu machine, you can use the following command.

ifconfig

Ubuntu Machine IP

Ubuntu Machine IP

As you can see in the previous the Ubuntu machine, IP is 192.168.1.7.

Method 1: Connecting To Ubuntu Via SSH

In this method, we will install the ssh package on Ubuntu. Then we use an ssh client on Windows to connect to Ubuntu.

Step 1. On your Ubuntu machine, install the ssh package using the ssh command.

sudo apt install ssh

Install ssh Package On Ubuntu

Install ssh Package On Ubuntu

Step 2. Install the nmap package using the following command.

sudo apt install nmap

Install nmap Package On Ubuntu

Install Nmap Package On Ubuntu

Step 3. Check the ssh port is it is opened or not.

nmap localhost

Check If ssh Port Is Opened Or Not

Check If ssh Port Is Opened Or Not

As you can see in the previous screenshot the default port of ssh service which is 22 is open.

Step 4. On the Windows machine, you can use an ssh client such as putty. Download the putty client from here.

Now let’s open the putty client:

Open Putty Application From Windows Machine

Open Putty Application From Windows Machine

The putty interface should look like the below screenshot:

Step 5. Enter your Ubuntu machine IP in the “Host Name” textbox. Also, you can save the IP in the saved sessions section.

Enter Ubuntu Machine IP

Enter Ubuntu Machine IP

Press the Open button to connect to the Ubuntu machine.

Step 6. A security alert appears you can press the Yes button to continue.

Putty Security Alert

Putty Security Alert

Step 7. Next, you can use your Ubuntu username and password then press Enter button.

Enter Your Ubuntu Username And Password

Enter Your Ubuntu Username And Password

Step 8. Now you are logged in to your Ubuntu.

Remotely Logged In To Your Ubuntu Machine Via Putty

Remotely Logged In To Your Ubuntu Machine Via Putty

You can start executing commands in the putty client:

Start Executing Commands

Start Executing Commands

Method 2:  Connecting To Ubuntu Via Remote Desktop Connection

In this method, we are going to install the xrdp package on Ubuntu machine. Next, we shall use the Remote Desktop Connection from the Windows machine to connect to the Ubuntu one.

Step 1. On the Ubuntu machine, install the xrdp package using the following command.

sudo apt install xrdp

Install xrdp Package On Your Ubuntu Machine

Install xrdp Package On Your Ubuntu Machine

Step 2. Start the xrdp service.

sudo systemctl start xrdp

Start xrdp Service

Start xrdp Service

Step 3. Enable the xrdp service to run with system startup.

sudo systemctl enable xrdp

Enable xrdp To Run With System Startup

Enable xrdp To Run With System Startup

Step 4. Check the xrdp service status to ensure that everything is up and running successfully.

sudo systemctl status xrdp

Check The xrdp Service Status

Check The xrdp Service Status

Step 5. From your Windows machine, open the Remote Desktop Connection from the Start menu.

Open Remote Desktop Connection Application Windows

Open Remote Desktop Connection Application Windows

Step 6. Enter your Ubuntu machine IP. Then press the connect button to continue.

Open Remote Desktop Connection Application Windows

Open Remote Desktop Connection Application Windows

Step 7. You should get a warning message, and you can press Yes button to open the connection.

Remote Desktop Warning Message

Remote Desktop Warning Message

Step 8. Next, you can use your Ubuntu username and password.

Enter Your Ubuntu Username And Password In Remote Desktop Application

Enter Your Ubuntu Username And Password In Remote Desktop Application

Step 9. Now you are remotely logged in to your Ubuntu machine, and you can start using the machine.

Remotely Logged In To Your Ubuntu Machine Via Remote Desktop Connection

Remotely Logged In To Your Ubuntu Machine Via Remote Desktop Connection

Method 3: Connecting To Ubuntu Via VNC

VNC is a Virtual Network Computing, and it is a graphical tool that is used to connect and access the Ubuntu remotely. In this method we are going to install a VNC server on the Ubuntu machine, then we shall use a VNC client from the Windows host to connect to Ubuntu.

Step 1. Install the tightvncserver package using the following command.

sudo apt install tightvncserver

Installing tightvncserver package

Installing tightvncserver package

Step 2. Start the tightvncserver service using the following command.

sudo tightvncserver

You are required to enter a password that should be used while connecting in the Windows VNC client.

Open The tightvncserver Application

Open The tightvncserver Application

As you can see in the previous screenshot, you should see a number like this “:1”, this number act as the desktop number. Remember this number because you should use it in the Windows machine.

Step 3. On your Windows machine, download and install any VNC client like the TightVNC viewer. You can download the TightVNC from here.

Step 4. After the installation completes successfully, you can open the TightVNC viewer from the Start menu.

Open tightvnc Viewer

Open TightVNC Viewer

Step 5. Enter the Ubuntu machine IP and the desktop number mentioned previously.

Enter Ubuntu Machine IP In The tightvnc Viewer

Enter Ubuntu Machine IP In The TightVNC Viewer

Step 6. Now press the connect button to open the connection and enter your Ubuntu username and password.

For further details about how to configure the VNC server on Ubuntu check this tutorial, and to configure the VNC on CentOS check this.

You Might Be Interested In

VNC (Virtual Network Computing) это широко распространенный протокол для удаленного доступа к рабочему столу компьютера. VNC является кроссплатформенной альтернативой протоколу RDP от Microsoft. В этой статье мы покажем, как использовать VNC для удаленного доступа к рабочему столу хоста с Ubuntu Linux по сети.

VNC уже встроен в последние версии Ubuntu, и не требует установки дополнительных пакетов.

Вы можете включить VNC можно в панели управления настройками Ubuntu (Settings -> Sharing). Включите переключатель Sharing в верхней части окна (выделен на скриншоте).

включить VNC в Ubuntu

Затем нажмите на Screen Sharing. В появившемся окне также включите переключатель вверху окна. Теперь VNC сервер запущен и готов к подключению.

разрешить доступ к рабочему столу ubuntu через vnc

В этом окне доступны несколько дополнительных опций VNC:

  • Allow connections to control the screen — по умолчанию включена (если вы отключите опцию, то для удаленного VNC подключение будет разрешен только просмотр экрана);
  • New connections must ask for access — если опция включена, то для удаленного VNC подключения нужно подтверждение локального пользователя. Если изменить здесь опцию на Require a password, то вы сможете удаленно подключиться к Ubuntu через VNC, даже если на консоли нет активного пользователя.

Для удалённого подключения к рабочему Ubuntu можно использовать любую утилиту, поддерживающую протокол VNC. В Ubuntu уже предустановлено стандартное приложение Remmina Remote Desktop Client. Для удаленного подключения выберите протокол VNC и введите IP адрес или имя компьютера. Для подключения по VNC должен быть открыт TCP порт 5900.

vnc подключение в Remmina Remote Desktop Client

В данном случае вы подключитесь к текущему сеансу пользователя на компьютере.

Если вы подключаетесь к рабочему столу Ubuntu из Windows, можно использовать любой из следующих популярных VNC клиентов: UltraVNC, VNC Viewer, TightVNC, Real VNC и т.д. Перед первым подключением на стороне Ubuntu нужно выполнить следующую команду, отключающую шифрование (иначе будут появляться ошибки безопасности: “encryption not supported” или “the authentication method requested is not available”):

$ sudo gsettings set org.gnome.Vino require-encryption false

ошибка VNC подключения encryption not supported

Unable to connect to VNC Server using your chosen security setting. Either upgrade VNC Server to a more recent version from RealVNC, or select a weaker level of encryption.

Remote Access Ubuntu 16.04

This tutorial is going to show beginners how to easily setup a VNC server in Ubuntu 16.04 so to connect from remote machines.

1.) Ubuntu desktop provides vino VNC server out-of-the-box with a simple UI called Desktop Sharing.

Desktop Sharing

2.) After launching the utility, you can easily enable VNC server in Ubuntu by checking the boxes that says:

  • Allow other users to view your desktop
  • Allow other users to control your desktop (Optional)

Enable Vino VNC server

For security options:

  • If you want to be able to choose whether to allow someone to access your desktop, enable the first box.
  • To require other people to type a password when connecting to your desktop, enable the second one and set a password.
  • If your router supports UPnP and it’s enabled, you can allow people not in local network to connect by selecting “Automatically configure UPnP router to open and forward ports”

After setting up the VNC server, just close the utility.

3.) Disable encryption.

Due to this bug, the common used TigerVNC, TightVNC viewer does not support vino’s security type. You’ll get the error below when you try to connect:

security-notsupported

A workaround is to disable encryption requirement. To do so, install dconf Editor from Ubuntu Software (or via sudo apt install dconf-editor command in terminal), and launch it.

When it opens, navigate to org -> gnome -> desktop -> remote-access, and uncheck the value of “require-encryption” in right.

vino disable encryption

Finally connect to this desktop on remote machine by typing the IP and password using a VNC client!

There is a bug report for this problem :
Bug #1281250 : VNC accessible from non-linux machines only with encryption disabled.

This bug dates from 2014 and has not yet been treated.
The last entry in the bug report dates from 2018-06-17:

Common guys. This bug is still present in Ubuntu18, and it makes for a
truly lousy out-of-box experience.

Just turn encryption off by default.

I don’t believe that after four years this bug will be solved any time soon.
The solution might be to use another VNC server than the default one.

See this Ubuntu Community Help Wiki for a list of such servers :
VNC/Servers.

Another alternative is the cross-platform
NoMachine :

Go from your desktop to any NoMachine-enabled computer at the speed of light. Thanks to our NX technology, NoMachine is the fastest and highest quality remote desktop you have ever tried. Get to any computer in the world in just a few clicks! Take what’s important where you go and share with who you want! NoMachine is your own personal server, private and secure. Did we say NoMachine is free? No strings attached.

Another solution might be to install on Linux a server for the
Remote Desktop protocol of Windows.
xrdp might be a solution here :

Based on the work of FreeRDP and rdesktop, xrdp uses the remote
desktop protocol to present a GUI to the user.

The goal of this project is to provide a fully functional Linux
terminal server, capable of accepting connections from rdesktop,
freerdp, and Microsoft’s own terminal server / remote desktop clients.

Unlike Windows NT/2000/2003/2008/2012 server, xrdp will not display a
Windows desktop but an X window desktop to the user.

Обновлено Обновлено: 28.07.2022
Опубликовано Опубликовано: 22.09.2018

Тематические термины: Linux, Ubuntu

В статье рассказано о настройке возможности подключения к Ubuntu по удаленному рабочему столу (аналогично RDP в Windows). Примеры команд проверены на Linux Ubuntu 16.04 и 18.04.

Мы рассмотрим реализацию с помощью сервера VNC (подключиться к нашему компьютеру можно будет как с помощью клиента VNC, который доступен как для Linux, так и Windows). Также мы рассмотрим возможность использования клиента RDP из Windows, настроив xRDP.

Подготовка сервера
Установка и настройк VNC 
    XFCE
    Gnome
Проверка настройки
Автозапуск VNC
Замена пароля
Подключение из Windows по RDP

Подготовка системы

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

sudo su

… или заходим под root:

su — root

* по умолчанию, в Ubuntu не задан пароль от root и данная команда не сработает. В этом случае сначала задаем пароль руту — passwd root.

Если используется брандмауэр, добавляем правило:

iptables -A INPUT -p tcp —dport 5901 -j ACCEPT

* в данном примере, мы разрешаем входящие соединения на порту 5901. Для работы с несколькими портами, добавляем их по аналогии.

Установка и настройка VNC сервера

Рассмотрим два варианта использования графической оболочки — xfce и gnome.

Если используем XFCE

Установка

Установку выполняем следующей командой:

apt install xfce4 xfce4-goodies tightvncserver

Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:

vncserver

… на запрос пароля вводим его дважды.

* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.

После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).

Настройка

Для начала, останавливаем экземпляр VNC сервера:

vncserver -kill :1

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

Настраиваем VNC сервер:

vi ~/.vnc/xstartup

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4

Снова запускаем vncserver:

vncserver

Если используем Gnome

Установка

Установку выполняем следующей командой:

apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server

Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:

vncserver

… на запрос пароля вводим его дважды.

* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.

После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).

Настройка

Для начала, останавливаем экземпляр VNC сервера:

vncserver -kill :1

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

Настраиваем VNC сервер для текущего пользователя:

vi ~/.vnc/xstartup

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80×24+10+10 -ls -title «$VNCDESKTOP Desktop» &
x-window-manager &

gnome-panel &
gnome-settings-daemon &
metacity &

Снова запускаем vncserver:

vncserver

Подключаемся к удаленному рабочему столу

Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC. Вводим IP-адрес компьютера с VNC и номер порта:

Подключение к серверу VNC с помощью TightVNC

Будет запрошен пароль — вводим тот, что устанавливали при настройке.

Автозапуск сервиса

Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd:

vi /etc/systemd/system/vncserver.service

[Unit]
Description=VNC server
After=syslog.target network.target

[Service]
Type=forking
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

Обновляем systemd:

systemctl daemon-reload

Разрешаем автозапуск сервиса:

systemctl enable vncserver

Смена пароля

Для смены пароля на подключения к VNC, вводим команду:

vncpasswd

Система напишет, в каком файле на данный момент хранится пароль и запросит ввод нового:

Using password file /root/.vnc/passwd
Password: 
Warning: password truncated to the length of 8.
Verify:   
Would you like to enter a view-only password (y/n)? n

* как видим, файл для хранения пароля в данном примере — /root/.vnc/passwd; требование по минимальной длине пароля — 8 символов; также после ввода нового пароля система предложит ввод пароля на режим «только для чтения».

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

vncpasswd /etc/vnc/passwd.txt

xRDP для подключения из Windows

Если мы не хотим устанавливать на Windows никакого дополнительного программного обеспечения, а хотим использовать стандартное подключение к удаленному рабочему столу (mstsc), можно установить на Linux xRDP. Для этого вводим:

apt install xfce4 xrdp

Создаем пользователя xrdp и добавляем его в группу ssl-cert:

adduser xrdp ssl-cert

* по умолчанию, сервис xrdp будет запускаться от пользователя xrdp и для доступа к системным сертификатам нужно, чтобы он был в группе ssl-cert. Сами же сертификаты используются для шифрования RDP-соединения.

Открываем файл и приводим его к виду:

vi ~/.xsession

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

Например для пользователя dima:

vi /home/dima/.xsession

* как правило, домашние директории находятся в каталоге /home, но не всегда. Проверить можно командой getent passwd dima | awk -F ‘:’ ‘{print $6}’, где dima — имя учетной записи.

Добавим строку: 

xfce4-session

Разрешаем автозагрузку сервиса и перезапускаем его:

systemctl enable xrdp

systemctl restart xrdp

Если в нашей системе используется брандмауэр, не забываем добавить порт 3389:

iptables -I INPUT -p tcp —dport 3389 -j ACCEPT

iptables -I INPUT -p udp —dport 3389 -j ACCEPT

Для сохранения правил исполььзуем iptables-persistent:

apt install iptables-persistent

netfilter-persistent save

Запускаем «Подключение к удаленному рабочему столу» — вводим IP-адрес нашего сервера:

Подключение к удаленному рабочему столу

В открывшемся окне вводим логин и пароль от нашего пользователя, например:

Вводим логин и пароль для подключения к xRDP

Сменить порт xRDP

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

vi /etc/xrdp/xrdp.ini

Находим и редактируем опцию:

port=3390

* в данном примере мы задали порт 3390.

Перезапускаем службу:

systemctl restart xrdp

Готово.

Вам нужен удаленный доступ к настольному компьютеру Linux из Windows? Вот что вам нужно знать о RDP, VNC и SSH для Linux.

Установили сервер Linux? Возможно, вы настроили его как решение для сетевого хранения данных. А может быть, у вас есть рабочий ПК с Linux, медиацентр или вы просто держите дополнительный ПК в другой комнате.

Как бы то ни было, в какой-то момент вам понадобится удаленный доступ к устройству Linux с ПК или ноутбука под управлением Windows. Каково же решение?

У пользователей Windows есть несколько инструментов, которые обеспечивают простой удаленный рабочий стол с Windows на Linux. Хотите узнать, как сделать удаленный рабочий стол с Windows на Linux? Читайте дальше!

Вам понадобится IP-адрес устройства Linux

Перед тем как удаленно подключиться к Linux из Windows, вам понадобится IP-адрес устройства. Он нужен для всех вариантов удаленного подключения, хотя в некоторых случаях достаточно имени хоста (сетевого имени устройства).

Самый простой способ проверить IP-адрес – войти в систему на устройстве Linux и открыть терминал. Введите:

hostname -I

На экране появится IP-адрес устройства. Для получения более подробной информации вы также можете использовать

ip address

Если ваша система Linux имеет несколько соединений, они будут перечислены с префиксами. Например, подключение Ethernet будет перечислено как eth0. Если система подключена к беспроводной сети, ищите IP-адрес, указанный напротив wlan0.

Если это не так просто или неудобно, есть другой способ, который почти так же прост. В окне браузера подключитесь к маршрутизатору. Обычно это адрес 192.168.0.1 или 192.168.0.0. Посмотрите на самом маршрутизаторе или в документации, которая прилагается к нему.

Получение IP-адреса устройства Linux

Получение IP-адреса устройства Linux

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

Первый и самый простой вариант – это RDP, протокол удаленного рабочего стола, который встроен в Windows.

Перед началом работы вам необходимо установить программное обеспечение xrdp на ваш Linux-компьютер. Вы можете сделать это с помощью одной команды:

sudo apt install xrdp

Для RDP в Linux запустите программу Remote Desktop на машине Windows. В Windows 8 и более поздних версиях ее можно найти через Поиск, просто введя буквы “rdp”.

Откройте окно “Подключение к удаленному рабочему столу”:

  • Введите IP-адрес
  • Используйте Показать параметры для любых дополнительных требований к подключению
  • Нажмите кнопку Подключиться

Используйте приложение удаленного рабочего стола Windows

Используйте приложение удаленного рабочего стола Windows

Все очень просто.

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

Если вы планируете использовать RDP на регулярной основе, вы можете сэкономить немного времени, создав эти пользовательские конфигурации для Windows RDP.

Подключение к Linux из Windows с помощью VNC

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

Для Linux требуется серверное программное обеспечение VNC, для Windows – клиентское приложение.

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

Скачать: VNC для Windows

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

Сначала в Linux проверьте наличие обновлений:

sudo apt update

Затем установите TightVNC Server:

sudo apt install tightvncserver

После установки запустите tightvncserver и задайте пароль, когда появится запрос.

sudo tightvncserver

Для паролей существует ограничение в восемь символов. После запуска tightvncserver вы увидите уведомление с номером порта – запишите его.

Как только вы это сделаете, вы сможете подключиться к машине Linux из Windows:

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

Подключение к Linux из Windows через VNC

Подключение к Linux из Windows через VNC

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

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

Удаленный доступ в Linux через SSH

SSH (Secure Shell) – это отличный способ получить удаленный доступ к вашему Linux-устройству. Этот способ не ограничивается Windows, так как SSH можно использовать практически с любого устройства. Он также очень безопасен.

У вас есть два варианта использования SSH в Windows:

  • SSH в Windows PowerShell
  • Скачать инструмент SSH PuTTY

Давайте рассмотрим оба варианта.

Удаленный доступ к Linux с помощью SSH в Windows PowerShell

Windows PowerShell – это новый инструмент командной строки в Windows 10, заменивший старое приложение Command Prompt. Найдите его, щелкнув правой кнопкой мыши “Пуск”, чтобы открыть меню “Питание”, и выберите Windows PowerShell. Чтобы подключиться по SSH, введите:

ssh [IP_ADDRESS].

Так, если устройство Linux имеет IP-адрес 192.168.13.123, введите:

ssh 192.168.13.123
  • Когда появится запрос, примите сертификат
  • Введите имя пользователя и пароль

Теперь у вас есть удаленный SSH-доступ к Linux.

Удаленное подключение к Linux с помощью SSH в PuTTY

Приложение PuTTY можно скачать, хотя оно и недоступно в Windows. Однако PuTTY не устанавливается. Вместо этого вы просто запускаете загруженный EXE-файл.

Скачать: PuTTY (бесплатно)

Для удобства рекомендуется создать ярлык на рабочем столе.

Чтобы использовать PuTTY для SSH:

  • Выберите Сеанс > Имя хоста
  • Введите сетевое имя компьютера Linux или введите IP-адрес, который вы указали ранее.
  • Выберите SSH, затем Открыть
  • Когда появится запрос на принятие сертификата для соединения, сделайте это.
  • Введите имя пользователя и пароль для входа на устройство Linux.

Удаленное подключение к Linux из Windows с помощью PuTTY

Удаленное подключение к Linux из Windows с помощью PuTTY

Преимущества SSH: использование этого метода позволяет быстро вносить изменения в Linux, не пачкая рук. Особенно подходит для установки программного обеспечения и изменения администратора. Он также полезен для настройки следующего варианта, VNC! SSH также идеально подходит для серверов без установленной среды рабочего стола.

Однако если вам нужно удаленное подключение к рабочему столу Linux из Windows, попробуйте VNC или RDP.

Три метода удаленного рабочего стола Windows для подключения к Linux

Независимо от вашей цели, найдется подходящий вариант подключения к машине Linux из Windows. Эти методы работают независимо от того, является ли устройство сервером, настольным ПК на работе, медиацентром или даже Raspberry Pi.

От самого простого к самому сложному – удаленный доступ к Linux из Windows с помощью:

  • RDP (протокол удаленного рабочего стола)
  • VNC (виртуальное сетевое подключение)
  • SSH (Secure Shell)

Если ваш дистрибутив Linux – Ubuntu, у вас уже есть встроенный инструмент удаленного рабочего стола, совместимый с VNC.

Chief author, Open Source enthusiast, Web Programmer, and UI/UX Designer.

Tuesday, March 20, 2012
at
20:03

Not only Ubuntu, sometimes we needed to work with other OS like windows in office or somewhere else. When we’re not face directly with our computer (Ubuntu), can we monitor it ?, yes, you can !, you can do it via remote desktop connection.

Ubuntu as a part of Linux has provide some ports which commonly used as remote protocol, that is ssh (port 22) and telnet (port 21). If you are accustomed to use terminal you can use both of port above, but if you are not accustomed to, you can do it via VNC.


What is VNC ?
Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the RFB protocol 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. VNC is platform-independent – a VNC viewer on one operating system may connect to a VNC server on the same or any other operating system, (Wikipedia).

This article will show us how to remote Ubuntu desktop from windows via VNC For the first step, make sure that gsettings is already installed, in my computer (Ubuntu 11.10) gsetting has already installed by default, but if not do as follow to install gsetting in Ubuntu :

  • sudo apt-get install libglib2.0-bin

Second, Open terminal and execute following commands in order to allow other computers to access your computer.

  • gsettings set org.gnome.Vino enabled true

third, Download and install VNC Viewer on Windows then run it. Put the address of your computer in server field then click OK, wait until the remote computer (Ubuntu) authenticate the connection.

    VNC Viewer (Windows) make a connection to Ubuntu

Remote computer (Ubuntu) is asking permission, to get connected, you can click «refuse» to deny the connection.

Remote computer (ubuntu) is asking a Permission

if connect successfully, VNC (Windows) will display remote computer desktop, see screenshot.

    The display of Ubuntu desktop From Windows

If you want guest/any computer could connect to your desktop (Ubuntu) without asking any permission (automatically connect without login prompt), do following in terminal :

  • settings set org.gnome.Vino prompt-enabled false

this is end of article How to remote ubuntu desktop from windows trough VNC, hopefully help you ..


Post Tags :

Networking

,

tips and trick

,

Ubuntu


Понравилась статья? Поделить с друзьями:
  • Connect to the internet to activate windows 10 как исправить
  • Connect to oracle db from windows
  • Connect to linux ftp from windows
  • Connect to cups printer from windows
  • Connect samsung tv to windows 10