- Перекрестное опыление: управляем Linux из-под Windows, и наоборот
- Microsoft Loves Linux
- Магомед не идет к горе
- Гора идет к Магомету
- В хозяйстве пригодится
- 7 отличий пользователей Linux от пользователей Windows
- Пользователи Linux все делают самостоятельно
- Пользователи Linux уверенно работают с командной строкой
- Пользователи Linux больше заботятся о безопасности
- Пользователи Linux хотят больше кастомизации
- Пользователи Linux привыкли к разнообразию
- Пользователи Linux привыкли не платить за программы
- Пользователи Linux ознакомлены с лицензированием
- Взгляд со стороны
Перекрестное опыление: управляем 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 достаточно выполнить следующие команды:
После настройки можно проверить работу 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 хоть и медленно, но начинают стираться, что безусловно радует.
Источник
7 отличий пользователей Linux от пользователей Windows
На самом деле, пользователи Linux отличаются от пользователей Windows в той же мере, как отличаются их операционные системы. Построенная на базе Unix-систем и в противовес Windows, Linux создала полностью противоположную экосистему. Несмотря на то, что новые пользователи Linux пришли напрямую из Windows, в некоторых вопросах они ведут себя по-другому.
После длительного 17-летнего наблюдения за пользователями Linux канадский журналист Брюс Байфилд (Bruce Byfield) предлагает 7 тезисов, которые отличают пользователей Linux от Windows.
Пользователи Linux все делают самостоятельно
Windows пользователи склонны меньше возиться с операционной системой по ряду причин. Реестр Windows очень сложно читать и редактировать, и если у пользователей появляется проблема, они стараются обратиться за профессиональной помощью. На самом деле, сейчас развиваются довольно успешные технические компании, которые за 80 долларов в час помогают сделать резервное копирование или удалить ненужные файлы.
В противоположность этому, Linux воспринимается как хобби, система была разработана для тех, кто любит самостоятельно заниматься настройкой. На протяжении долгого периода времени профессиональная поддержка была недоступна. Вместо этого пользователи Linux обменивались информацией между собой и учились помогать друг другу. Сегодня эта традиция немного нарушена, например, из-за GRUB 2, который исключает ручное редактированию. Но основная концепция ручных манипуляций остается.
Пользователи Linux уверенно работают с командной строкой
Вопреки распространенному мифу, пользователи Linux могут комфортно работать, не покидая рабочего стола. Тем не менее, большинство функций доступны из командной строки и возможно из-за общей концепции ручного редактирования, многие пользователи рано или поздно начинают с ней работать. Оказавшись в командной строке, они находят мощную и эффективную альтернативу, которая оказалась не такой страшной, как они боялись.
Для сравнения, когда Microsoft разработала собственную командную строку, она так не прижилась у обычных пользователей. Портирование оболочки Bash также в корне не изменило ситуацию, потом что в Windows используется принцип невмешательства для неопытных пользователей.
Пользователи Linux больше заботятся о безопасности
Несмотря на многочисленные истории о перехватчиках паролей и вредоносных программах, многие пользователи Windows отказываются использовать пароль или запускать приложения с ограниченными привилегиями. Такая практика, по их мнению, является неудобной (хотя это на самом деле гораздо удобнее, чем переустановка операционной системы раз в полгода для очистки заражений).
Брюс лишь пару раз встречал пользователей, которые посещают Интернет с правами root, но они являются исключениями. Разработанная для безопасности Linux заставляет пользователей сразу же заботиться о безопасности. Брюсу известны пользователи, которые считают серфинг в Интернете в Windows потенциально опасной активностью.
Пользователи Linux хотят больше кастомизации
Возможно по той причине, что многие пользователи Linux пришли из Windows, они предпочитают самостоятельно настраивать параметры операционной системы. Для них возможности изменить фоновое изображение и шрифт в Windows являются недостаточными. Linux предлагает не только широкий выбор оконных менеджеров и сред рабочего стола, но и более детальные особенности: например, условия активности рабочего стола или позиционирование иконок в панели заголовка окна.
Это предпочтение является настолько популярным, что за последние 8 лет, когда вводились ограничения кастомизации, это приводили к бурному недовольству пользователей против некоторых оболочек рабочего стола.
Пользователи Linux привыкли к разнообразию
Unix -дизайн подразумевает небольшие специализированные приложения. Такие приложения как LibreOffice и Krita, позволили обойти эту особенность. По крайней мере с офисными приложениями на Linux все в порядке, что упрощает адаптацию для бывших пользователей Windows.
Тем не менее, даже сейчас, многие категории приложений, включая музыкальные проигрыватели, мессенджеры, почтовые клиенты и веб-браузеры, имеют несколько полноценных альтернатив.
Более того, так как почти все альтернативные приложения являются бесплатными, пользователи Linux могут попробовать несколько приложений, перед тем как сделать окончательный выбор.
Эта ситуация отличается в Windows, где многие пользователи удивляются, когда узнают о наличии альтернатив. В действительности многие пользователи Windows выбирают альтернативы в виде открытого программного обеспечения, например, Firefox или LibreOffice.
Пользователи Linux привыкли не платить за программы
Свободные лицензии касаются доступности программного обеспечения и распространяются бесплатно. Пользователи Linux не привыкли платить за программы. Если бесплатное ПО нужной специализации отсутствует, пользователи Linux переходят к облачным сервисам, например, бесплатный сервис Документы Google.
Некоторые пользователи Linux платят за специализированное ПО не первой необходимости. Другие покупают профессиональные продукты, но эти случаи можно отнести к исключениям. В отличие от пользователей Windows, которые считают, что, если программа бесплатна, она является некачественной, пользователи Linux не видят очевидных причин платить за ПО.
Пользователи Linux ознакомлены с лицензированием
Понимание лицензирования до сих преобладает в сообществе пользователей Linux. Большинство приложений Linux распространяются свободно (Open Source) в отличие от программ Windows, которые имеют ограничения по использованию. В этом случае лицензия регулирует способы копирования, изменения и распространения приложения. Очень часто лицензионное соглашение модифицированной программы использует первоначальный документ оригинала.
Некоторые пользователи Linux используют только бесплатные программы, другие применяют проприетарное ПО в отсутствие альтернатив или исходя из рабочих требований. Тем не менее, совсем немногие пользователи Linux не осведомлены о проблемах лицензирования.
Взгляд со стороны
Эти различия формируют совершенно разные подходы к использованию компьютера. Одна из причин этого связана с меньшим количеством продуктов для пользователей Linux и принципиальным отличием данного рынка от рынка Windows систем.
Многие разработчики ставят задачу сделать Linux все более похожим на Windows. Системы создания пакетов Snappy и Flatpak пытаются имитировать установочные программы Windows. Тем не менее, вероятно, их усилия не будут успешными. Большинство пользователей Linux считают, что данное изменение принесет минимальный выигрыш. Во всяком случае, они глубоко убеждены, что их привычки являются правильными.
Источник