Управление линукс с виндовс

Как удаленно управлять Linux из Windows

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

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

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

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

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

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

IP-адрес устройства будет отображаться.

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

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

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

Запишите IP-адрес, так как он понадобится вам позже. И убедитесь, что вы знаете имя пользователя и пароль для вашего компьютера или сервера Linux!

Как получить доступ к рабочему столу Linux из Windows через RDP

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

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

Чтобы перевести RDP в Linux, запустите программное обеспечение Remote Desktop на вашем компьютере с Windows. В Windows 8 и более поздних версиях его можно найти с помощью поиска, просто введя буквы «rdp».

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

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

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

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

Читайте также:  Драйвера xerox workcentre 3045 для windows 10

Удаленный В Linux Из Windows С VNC

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

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

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

Во-первых, в Linux проверьте наличие обновлений:

Далее выполните эту команду:

После установки, запустите silentvncserver и установите пароль при появлении запроса.

Существует восемь символов для паролей. Теперь, когда закручивается туго настроенный сервер, вы увидите уведомление с номером порта — запишите его.

Для удаленного подключения к Linux из Windows:

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

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

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

Remote Into Linux через SSH

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

У вас есть два варианта SSH в Windows:

  1. SSH в Windows PowerShell
  2. Загрузите инструмент PuTTY SSH

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

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

Windows PowerShell — это новый инструмент командной строки в Windows 10, заменивший старое приложение командной строки. Чтобы найти его, щелкните правой кнопкой мыши «Пуск», чтобы получить доступ к меню питания, и выберите Windows PowerShell. В SSH введите:

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

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

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

Подключайтесь к Linux удаленно, используя SSH в PuTTY

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

Скачать: PuTTY

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

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

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

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

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

Читайте также:  После переустановки windows упал фпс

Три способа удаленного управления Linux из Windows

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

От простого к сложному удаленного доступа к Linux из Windows, используя:

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

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

Источник

Перекрестное опыление: управляем Linux из-под Windows, и наоборот

В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.

Microsoft Loves Linux

Еще в 2015 году Microsoft торжественно объявила о запуске программы «Microsoft Linux». Сюда вошла как банальная поддержка гостевых *nix-like OS на Hyper-V, так и встроенная в Windows 10 Ubuntu и возможность запуска в Docker продуктов Microsoft, таких как SQL Server.

Компания также опубликовала исходный код PowerShell, что позволило запускать «Ракушку Мощи» не только на Windows. Из-под одноименного аккаунта на Github, помимо исходного кода, выложены и бинарники под большинство современных систем (лицензия MIT).

Это позволяет настроить удаленное управление с помощью единого инструмента ― PowerShell. Помимо подключения к консоли компьютера, можно запускать отдельные команды, в том числе и на нескольких серверах одновременно. Довольно удобно для автоматизации задач администрирования, таких как массовое изменение настроек, инвентаризация, сбор логов.

Порой удобно совмещать традиционные консольные команды со вставками PowerShell:

Для подключения к Windows-машинам при помощи PowerShell используется протокол WS-Man. Для GNU\Linux привычен SSH. Так как сегодня становятся универсальными оба протокола, разберем их подробнее.

PowerShell 6.0 под Windows и *nix, пока еще находится в бете. Поэтому не рекомендую без хорошего тестирования применять на боевых серверах описанное ниже.

Магомед не идет к горе

Когда технология удаленного доступа при помощи PowerShell только набирала обороты, единственным универсальным способом подключения к разным системам был протокол WS-Man. Для тестового стенда я взял Windows Server 2016 и Centos 7, для которых и буду настраивать возможность удаленного подключения и выполнения команд при помощи этого протокола.

Для начала установим на Centos свежий PowerShell:

После установки появилась возможность запускать привычные Windows-администратору командлеты. Например, посмотрим версию PS и получим список запущенных процессов командлетами $PSVersionTable и Get-Process:


Работаем в консоли PowerShell на CentOS.

Чтобы подключаться к Linux-машине с консоли Windows, нам понадобится установить и настроить:

  • OMI (Open Management Infrastructure) ― адаптация WMI, которую также можно использовать для управления компьютерами с ОС, отличными от Windows;
  • PSRP (PowerShell Remoting Protocol) ― библиотека, необходимая для удаленного подключения PowerShell.

Подробно с работой и эволюцией OMI и PSRP можно ознакомиться в отличном материале от Matt Wrock, я же просто установлю OMI командой:

Далее нужно настроить порты и аутентификацию в конфигурационном файле /etc/opt/omi/conf/omiserver.conf, после чего перезапустить сервер командой:

Для упрощения эксперимента я не буду настраивать ни NTLM-аутентификацию, ни Kerberos. Еще и шифрование отключу ― разумеется, в боевой среде делать этого не стоит. Для включения текстовой аутентификации и шифрования на стороне Windows в работе winrm достаточно выполнить следующие команды:

Читайте также:  Как установить windows media centre

После настройки можно проверить работу OMI из консоли Windows:


Подключаемся к CentOS из cmd.

Теперь проверим работу обратным подключением ― из Linux к Windows:


… а затем с CentOS подключаемся к Windows.

После того, как WMI\OMI заработал, нужно установить и настроить PSRP. К сожалению и вопреки инструкции, бинарник отсутствует. Библиотеку пришлось компилировать, долго и нудно исправляя возникающие ошибки зависимостей:

Теперь мы сможем подключаться с Windows на Linux и наоборот при помощи PowerShell. Начнем с Windows на Linux:


С Windows на Linux.

Аналогичным образом можно провести и обратное подключение.

Invoke-Command можно «натравить» на список компьютеров, и с рабочей станции Windows создать пользователя на всех серверах Linux командой вида:

Надо сказать, что способ не самый удобный и эффективный. Минусов добавляет компиляция библиотек, разнообразные баги ― например, на момент написания статьи PSRP не позволял нормально подключиться из Linux в Windows.

Да и сами разработчики рекомендуют не плясать вокруг WS-Man, а обратиться к проверенному способу ― SSH. Что ж, попробуем и его.

Гора идет к Магомету

На этот раз машина с Windows получит чуть больше специфической подготовки ― нужно установить свежий PowerShell и OpenSSH.

После можно проверить синтаксис командлета New-PSSession. Если все произошло как надо, то командлет, помимо привычного параметра ComputerName, будет поддерживать и HostName.


PowerShell 6.0.0-beta.9 и обновленный синтаксис командлета.

Качаем последний релиз или используем пакет из репозитория Chocolatey. Все это разархивируем в \Program Files\OpenSSH.

В консоли с правами администратора переходим в папку с разархивированным содержимым и запускаем установку командой:

Теперь генерируем ключи:

В тестовой среде мы будем использовать парольную аутентификацию, поэтому стоит убедиться что она включена в файле sshd_config:

Если вы также хотите автоматически запускать PowerShell при подключении по SSH, то в параметре subsystem нужно прописать путь к желаемой версии PS:

Для работы клиента SSH нужно добавить директорию в %PATH% любым удобным способом. Например, таким:

Остается только настроить и запустить службы:

После установки уже можно наслаждаться подключением к серверу Windows по ssh.


C Windows через Putty на Linux, с Linux обратно на Windows по SSH.

На достигнутом останавливаться не будем и перейдем к настройке Linux. При настройке сервера SSH по умолчанию достаточно прописать PowerShell в Subsystem:

Теперь проверим подключение через командлет New-PSSession и Invoke-Command.


Работаем из PowerShell с Linux-сервером.

Теперь подключимся из Linux к Windows:


Работаем из PowerShell с Windows-сервером.

В отличие от WS-Man, SSH настраивается намного проще и работает стабильнее. Да и беспарольное подключение по ключам настраивать привычнее.

В хозяйстве пригодится

С однозначным «советом потребителю» все опять сложно: SSH проще в настройке и стабильнее, но WS-Man использует API и позволяет применять инструменты вроде JEA. На боевых серверах использовать WS-Man я бы не стал однозначно, а вот реализация OpenSSH в Windows как сервера, так и клиента мне понравилась. Для самопальной автоматизации вполне подойдет даже без PowerShell.

В любом случае, границы между Linux и Windows хоть и медленно, но начинают стираться, что безусловно радует.

Источник

Оцените статью