Как соединить linux и linux

Обновлено: 08.07.2024

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

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


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

vncserver -kill :1

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

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

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

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

Шаг 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 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

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 от имени администратора системы и выполните следующую команду:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'


Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:

Add-WindowsCapability -Online -Name 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):



Далее нужно будет ввести логин и пароль. Если всё сделано правильно, запустится удалённая сессия терминала 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-серверам используя мессенджеры или браузеры.

Нет похожих записей


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

Интересная статья, в которой рассказывается, как запустить ядро linux с помощью User Mode Linux (UML) в режиме user-mode из-под другого линукса. Выглядит странно, но может пригодиться для отладки ядра или модулей, да и как необычный вариант виртуализации, тоже довольно интересна.



а черт, замените слово "статься" на "статья" пожалуйста

Что странного и нового? Технологии - сто лет в обед. В том же дебиане есть готовый пакет для использования uml в качестве сборочной песочницы.


Позже гляну, может чего интересного понаписали.. ;-)


А можно так, например, проверять на жизнеспособность свежесобранное ядро?


> А можно так, например, проверять на жизнеспособность свежесобранное ядро?

Нет. Разве что ты собираешь специальные UML-ядра :)

Только что опробовал; Запустил одновременно 4 виртуальние генты(чистий stage3 для AMD64) - сожрало ДВА МЕГАБАЙТА памяти. На тачке с гигом рамы можно устроить огромный хостинг выделеных серверов

> Только что опробовал; Запустил одновременно 4 виртуальние генты(чистий stage3 для AMD64) - сожрало ДВА МЕГАБАЙТА памяти. На тачке с гигом рамы можно устроить огромный хостинг выделеных серверов

>это прорыв ! Что прорвало на этот раз?

юзаем этот умл и скажу прям таки прямо - говно этот умл. тормоз и сама кривизна. собираемся уходить от него. как только такое Г все еще не выкинули из ядра.

> юзаем этот умл и скажу прям таки прямо - говно этот умл. тормоз и сама кривизна. собираемся уходить от него. как только такое Г все еще не выкинули из ядра. и скажу прям таки прямо - говно этот умл. тормоз и сама кривизна. собираемся уходить от него. как только такое Г все еще не выкинули из ядра.

Если вы вы действительно "юзали этот умл", то знали бы, что в основном ядре его НЕТ, и выкидывать, соответственно, нечего.


Для создания общих сетевых ресурсов в среде Windows, применяется протокол CIFS (ранее известный как SMB), поддержка которого в UNIX-подобных системах обеспечивается программным обеспечением Samba. Samba работает по протоколам TCP и UDP, соединение шифруется. С помощью Samba возможно обеспечить не только общий доступ к файлам и принтерам, но и, например, построить контроллер домена с поддержкой Active Directory (об этом в следующий раз). С помощью Samba можно открыть общий доступ не только между Windows и Linux, но и между Linux и Linux. Однако есть некоторые ограничения. Во первых, SMB - это "виндовый" протокол, со всеми вытекающими. Он не слишком хорошо интегрируется с UNIX-системами. Не вдаваясь в сложные технические описания, скажу лишь что скорость передачи данных по Samba медленнее, зачастую значительно, она нестабильна, как и загрузка сетевого канала, а также даёт весьма ощутимую нагрузку на процессор. Поэтому если в вашей домашней сети нет Windows-машин, то предпочтительнее использовать протокол сетевой файловой системы - NFS.

Суть работы NFS весьма проста. Удалённый ресурс встраивается в общее дерево файловой системы, и в результате каталог, который находится на файловом сервере или другом компьютере, отображается в вашей системе как локальный, будто находится на диске. NFS работает по протоколу TCP. NFS весьма полезна при создании так называемых тонких клиентов (бездисковые рабочие станции, в которых система загружается по сети). Скорость передачи данных по NFS в 2 раза выше, чем через Samba, загрузка сети равномерная, а нагрузка на центральный процессор минимальная. Однако у NFS есть два недостатка. Первый - довольно фиговая поддержка в Windows (реализуется через подсистему UNIX и отдельное приложение). Второй - отсутствие шифрования (c версии NFSv4, для шифрования может использоваться протокол Kerberos). Тем не менее, для Линуксовой сети, NFS - идеальный вариант.

Внимание: на обеих системах должны быть настроены статические IP адреса.В Windows кликнете правой кнопкой на значке сетевых подключений и выберите "Центр управления сетями и общим доступом", далее "Изменение параметров адаптера", выберите нужный адаптер (вашу сетевую карту) и зайдите в её свойства. Перейдите в пункт "Протокол Интернета версии 4" и выберите "Использовать следующий IP адрес":


Если ваши компьютеры соединены напрямую, поле "Основной шлюз" можете оставить пустым. Если через роутер - укажите IP адрес роутера (тот, через который осуществляется доступ к его вэб-интерфейсу, обычно 192.168.0.1). В Linux аналогичную операцию можно провести в Network Manager (настройка сетевых подключений, вкладка IPv4):


Если вы используете фаерволл (брандмауэр Windows либо другое аналогичное ПО, а также iptables в Linux или фаерволл в вашем роутере), убедитесь что открыты нужные порты (Для SAMBA: 135, 139, 445/TCP; 137, 138/UDP. Для NFS: 2049/TCP).

Linux => Windows

Представим ситуацию: у вас есть второй компьютер (или файловый сервер), под управлением Ubuntu 14.04, на котором находится большая коллекция ваших видео, фото и так далее, расположенная на отдельном диске, который монтируется в /media/MyDATA. Этот диск нужно расшарить на компьютер под управлением Windows 8.1. Первым делом, установим необходимые пакеты:

sudo apt install samba samba-common smbclient

Теперь необходимо сконфигурировать Самбу. У вас есть два пути: консольный и графический.

Консольный.

Открываем файл /etc/samba/smb.conf:

sudo nano /etc/samba/smb.conf

Полностью удаляем всё содержимое и вписываем такие настройки:

В секции global описываются общие параметры: WORKGROUP - имя рабочей группы (должно быть одинаково для всех машин в локальной сети), Ubuntu-PC - имя компьютера, с которого расшариваются каталоги (укажите своё), вход без пароля, гостевой доступ и оптимизации для соединения. В секции MyDATA описывается доступ к диску, смонтированному в /media/MyDATA. При желании вы можете указать доступ к отдельным каталогам на этом диске, аналогичным способом. Сохраните файл и выполните команду:

Теперь запустите сервер Samba:

sudo service start smbd

Графический.

Для настройки параметров Samba в графическом интерфейсе, существует 2 замечательные утилиты - system-config-samba (есть только в Ubuntu и производных) и gadmin-samba (есть везде). Эти утилиты представляют собой весь конфиг Самбы, выполненный в графическом режиме. Для Ubuntu установим первую утилиту:

sudo apt install syste-config-samba

Здесь всё предельно понятно и в настройках разберётся любой :)


Для других дистрибутивов (например Debian), установите пакет gadmin-samba:

sudo apt install gadmin-samba


После настройки, перезапустите демон Samba. Для Ubuntu:

sudo service restart smbd

sudo systemctl restart smbd.service

Также можно открыть доступ к нужному каталогу из файлового менеджера, открыв свойства каталога:

В Windows необходимо включить сетевое обнаружение. Для этого в центре управления сетями, зайдите в "Изменить дополнительные параметры общего доступа"


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

Linux => Linux

А теперь представим, что у нас есть компьютер с Debian 8 (IP адрес 192.168.0.2), и ноутбук с Ubuntu 14.04 (IP адрес 192.168.0.3). С ноутбука нужно расшарить раздел диска, который смонтирован в /media/DATA (это раздел для торрентов и прочей файлопомойки). Для этого мы используем NFS:

sudo apt install nfs-kernel-server nfs-common rpcbind

Укажем что нужно расшаривать:

sudo nano /etc/exports

sudo exportfs -a

Далее нужно указать, каким хостам в сети разрешено иметь доступ к серверу:

sudo nano /etc/hosts.allow

Указываем доступ для всех машин, находящихся в подсети 192.168.0.0/255.255.255.0:

nfsd: 192.168.0.0/255.255.255.0
rpcbind: 192.168.0.0/255.255.255.0
mountd: 192.168.0.0/255.255.255.0

Если вы указали в файле exports только IP адрес нужной машины, то соответственно, указывайте его.

Теперь запустите сервис:

sudo service nfs-kernel-server start

На компьютере установите следующие пакеты:

sudo apt install nfs-common rpcbind

Создайте директорию для монтирования общего ресурса:

sudo mkdir /media/Share

Монтирование вручную.

sudo mount -t nfs4 192.168.0.3:/ /media/Share

В результате всё содержимое диска /media/DATA (на ноутбуке) окажется доступным на компьютере в каталоге /media/Share, как если бы эти данные хранились на нём. Для того чтобы ресурс монтировался автоматически после загрузки системы, есть два способа.

Монтирование через fstab.

Файл /etc/fstab содержит в себе информацию о присутствующих файловых системах, точках монтирования и параметрах монтирования. Чтобы ресурс /media/DATA монтировался на ваш компьютер автоматически, добавьте в конец файла /etc/fstab следуюущую строку:

192.168.0.3:/ /media/Share nfs user,rw,noauto 0 0

Опция noauto запрещает автоматическое монтирование во время загрузки, так как сеть может быть недоступна в этот момент. Вместо этого, в файловом менеджере, в левой колонке появится пункт Share, кликнув на который, сетевой ресурс автоматически смонтируется. Однако при таком способе монтирования, есть пара существенных недостатков. Во первых, если в момент выключения компьютера, был открыт какой-либо файл, расположенный на сетевом ресурсе, компьютер откажется выключаться. Во-вторых, такая же ситуация произойдёт в случае пропажи связи между клиентом (компьютером) и сервером (ноутбуком). Для того, чтобы этих проблем не было, существует второй способ монтирования.

Монтирование с помощью AutoFS.

AutoFS - это пакет для обеспечения монтирования съёмных и сетевых накопителей, только при обращении к ним. При отсутствии обращения к сетевому ресурсу или съёмному устройству в течении определённого времени, он автоматически размонтируется, и мгновенно монтируется при первом же обращении к нему. Устанавливаем:

sudo apt install autofs

sudo nano /etc/auto.master

В конец файла добавляем строку:

/mnt /etc/auto.nfs --timeout=60

/mnt - каталог для монтирования сетевого ресурса.
/etc/auto.nfs - путь к файлу, в котором описаны параметры монтирования.
--timeout=60 - время в секундах, после которого произойдёт размонтирование ресурса (можете указать своё).

Сохраняем и переходим к следующему файлу:

sudo nano /etc/auto.nfs

Share -fstype=nfs,rw,noatime,noexec,nosuid,tcp,async,rsize=32768,wsize=32768,intr,nolock,soft,noauto 192.168.0.3:/

Создадим директорию Share в каталоге /mnt, куда будет монтироваться ресурс:

sudo mkdir /mnt/Share

Вот и всё. Теперь в каталоге /mnt/Share, при первом же обращении к нему, будет появляться содержимое удалённого ресурса /media/DATA. Кнопка подключения сетевого диска появится в файловом менеджере.

Конкретнее, у меня ubuntu, хочу поставить debian, не знаю как. Ведь установщики винды и линукса разные. Скачала debian, но как его перекинуть на флешку - не знаю. Помогите пожалуйста. Инфу в гугле не нашла.



Я даже растерялся какую ссылку приводить.

dd if=debian.iso of=/dev/sd*, где sd* - флешка

и флешек никаких не надо.


Ведь установщики винды и линукса разные.

это вообще причём?


На виндоуз нужен был unetbootin для образа диска. На линукс нужен также?

Не злитесь вы так.

на данном сайте в вики была статья на сию тему, но я ее найти щас не могу ибо там прибрались нехорошие люди

Deleted ( 19.09.13 01:19:29 )
Последнее исправление: Deleted 19.09.13 01:19:38 (всего исправлений: 1)

Здесь всё современное из коробки :) см. мой пост выше


unetbootin и здесь подойдёт

Консоль ещё не нашла? Открываешь меню (в юнити в верхнем левом углу кнопка такая), там пишешь Terminal. обычно достаточно уже первой буквы или двух.



Спасибо вам большое, мальчики, за ссылки и советы.


Спасибо, весьма наглядно :) Нашла, да. У меня пару дней как убунту стоит. Поэтому ничего нигде не догоняю не знаю.


Из тебя так себе оракул, уже всё было.

у меня ubuntu, хочу поставить debian

Ведь установщики винды и линукса разные

4.2. В убунте есть софтина для записи образов на флешку. Образы дебиана она поддерживает.

Конкретнее, у меня ubuntu, хочу поставить debian, не знаю как.

unetbootin есть и в linux'e (sudo apt-get install unetbootin). Загружаешься с флешки и прямо поверх убунты ставишь. Главное, чтобы разделы форматнулись при установке, чтобы не было каши из разных файлов.

Советую после установки debiana порставить kde - самое дружественное окружение на текущий момент.


Warning, this image abused few times. This image sent to administration to check, For this moment it is better to not view this image. Take away your childs. )

Установка дебиана опасна для детей!


Хорошо, когда девушки Linux осваивают. Честно говоря, грустно что общество пользователей Linux почти полностью состоит из представителей сильного пола. Успехов в изучении сабжа. При установке лучше сразу установить KDE или Gnome. Что-бы работать в привычной для пользователей Windows оконной среде.


Вы такой тугодумный или вам просто придраться хочется? :) Повторяю еще раз. У меня убунту пару дней только. До этого была винда.


Спасибо вам! Хоть кто-то добрый здесь есть. Я бы с радостью освоила, если кто рядом разбирался. А так тяжковато.

При установке лучше сразу установить KDE или Gnome
или Gnome

Что-бы работать в привычной для пользователей Windows оконной среде.

Зачем на 0 делишь, уважаемый?

Нет, не придраться.
Ещё раз тыкаю носиком в свою рекомендацию:

В убунте есть софтина для записи образов на флешку. Образы дебиана она поддерживает.


За рекомендацию спасибо) Мне бы еще эту софтину найти.

все еще проще sudo aptitude install unetbootin


Жил бы я рядом - обязательно бы помог. Я помогаю иногда неопытным, но интересующимся пользователям. Некоторые из них далеки от IT, но используют Linux. К сожалению, я живу в Молдове.

Могу посоветовать первое время стараться ориентироваться на GUI-приложения, и наиболее простые способы решения поставленных задач. На флешку записать образ вам поможет UNetbootin(есть и другие подобные программы, но эта - кросс-платформенная, и довольно простая в обращении). Пример того, как пользоваться данной программой есть на YouTube.

Не беспокойтесь насчёт загрузчика. Загрузчик Debian установит свой(тот же Grub, что и у Ubuntu). Но этого не надо бояться. Так, как специальные скрипты найдут другие ОС на разделах вашего диска, и добавит Ubuntu(а так-же Windows) в меню grub.

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

lucentcode ★★★★★ ( 19.09.13 14:52:00 )
Последнее исправление: lucentcode 19.09.13 14:53:54 (всего исправлений: 1)


Да я прекрасно понимаю, что оконная система ничего общего не имеет с windows. Просто зачастую у пользователей windows формируется стойкое мнение что окна - это windows way. Если ещё и внешне похоже на windows(как KDE4) - то пользователи windows вообще воспринимают систему как какой-то диковинный windows. И очень удивляются, что на нём не работают их любимые приложения.


Спасибо за подробную инструкцию :) Только так я и понимаю. Хорошо что консоль нашла :)

Читайте также: