В этой статье мы рассмотрим, как быстро и просто настроить возможность подключения по SSH к Windows Server и управлять гетерогенными инфраструктурами на Windows и Linux через терминал, подключаясь единым способом.

Данный способ особо поможет пользователям macOS и Linux при управлении гетерогенными инфраструктурами через терминал, ведь полноценной реализации RSRP провайдера для Powershell Core до сих пор нет (но Microsoft ведет работу над ним), таким образом просто подключиться к Windows Server из кросс-платформенного Powershell Core не удастся. Нам поможет OpenSSH для Windows, который активно развивается, а Microsoft это развитие поддерживает финансово.

В облаке Azure Pack Infrastructure от InfoboxCloud мы уже предсоздали образ с Windows Server, версии 1709 для современных веб-приложений и сервисов, требующих стека Microsoft.

В образе предустановлено и настроено:

  • OpenSSH. Просто создайте виртуальную машину, пробросьте порт 22 и можно подключаться по SSH.
  • пакетный менеджер chocolatey, позволяющий обновлять все преднастроенное с помощью choco upgrade all и быстро устанавливать дополнительное ПО.
  • Windows Subsystem for Linux. Вы можете просто установить подходящий дистрибутив Linux в Windows и иметь привычное окружение, хорошо подходящее для задач администрирования.
  • Поддержка контейнеров Windows и Docker (предустановлены docker, docker-compose, docker-machine и consul, возможность быстрой установки kubernetes при необходимости).

Также в статье рассказано, как добавить поддержку SSH на Windows на собственном сервере или виртуальной машине.

В конце статьи скидка на облако.

Зачем вообще нужно подключаться к Windows Server по SSH


Современные гетерогенные ИТ-инфраструктуры удобнее обслуживать с помощью единого способа подключения, как к Windows так и к Linux, имея возможности подключаться серверам друг к другу, запускать скрипты автоматизации, собирать данные и так далее. Также современный компьютер администратора может работать не только на Windows, но и на Linux или macOS и возможность использовать привычный способ подключения через консоль поможет пользователям использовать эффективно и Windows Server. В нашем облаке стоимость Windows и Linux виртуальных машин одинакова и вы можете выбирать лучшую ОС для вашей задачи, не идя на компромиссы.

Как подключиться к Windows Server по SSH?


Готовый образ для современных веб-приложений и сервисов

Заполните форму для получения доступа в облако.
Мы предсоздадим вам всю требуемую инфраструктуру и вы сразу сможете начать работать.

Для подключения по SSH в качестве логина используйте Administrator, пароль — указанный при создании серверов (будет отправлен в письме с доступами).



Подключение успешно выполняется, можно работать как с CMD, так из Powershell из привычного для вас окружения с самой современной Windows Server версии 1709.


Если вы хотите создать серверы самостоятельно — воспользуйтесь образом «WS1709 DC Core EN SSH Docker».


Для обновления ОС используйте команду

sconfig

Для обновления предустановленного ПО, команду:

choco upgrade all

Нужен графический интерфейс для управления ОС без него? Читайте прошлую статью про Project Honolulu – веб-интерфейс управления современными Windows Server.

Самостоятельная установка OpenSSH на Windows Server

Если вы уже используете Windows Server (приходите и мы его смигрируем в облако и все вам поставим :) ), ниже расскажем как наиболее простым образом установить OpenSSH самостоятельно.

Сделаем это на примере обычной Windows Server 2016. Подключитесь к серверу по RDP (порт 3389).
Запустите Powershell от имени администратора.



Установите пакетный менеджер Chocolatey командой:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))




Теперь выполните команду:

choco install openssh -params '"/SSHServerFeature"'



Для обновления переменных окружения уже запущенного терминала выполните команду:

refreshenv

Проверьте подключение к Windows Server по SSH.



Для включения возможности выполнения удаленных команд, запустите Powershell и введите:

Enable-PSRemoting




Теперь вы можете полноценно управлять Windows Server по SSH и из консоли Windows Server подключаться к другим Linux–серверам даже без установки Linux в Windows Subsystem for Linux (WSL).



Скидка 25% на облако для читателей статьи


В следующих статьях мы рассмотрим другие технологии из образа для современных веб-приложений и сервисов на Windows, но можно не ждать новой статьи. Всем новым пользователям, подавшим заявку до 15 декабря 2017 года мы дарим 25% скидку на ресурсы облака Azure Pack Infrastructure до 1 марта 2018 года.

Для получения скидки заполните форму https://infoboxcloud.ru/request и в поле комментария укажите секретный код: «Скидка 25% с хабра за инновации». Также будет полезно, если укажете требуемое количество серверов, для каждого количество ядер процессора, объем оперативной памяти, диска и желаемую ОС. Если нужно перенести текущую ИТ-инфраструктуру в облако — поможем с этим.

Если у вас есть замечания или предложения по новому образу, как его сделать еще удобнее — напишите нам.

Отличного дня и успешной работы!

Комментарии (5)


  1. ALexhha
    21.11.2017 19:43

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


    1. infobox Автор
      21.11.2017 19:51

      OpenSSH используется только для подключения к серверу, дальше работаем с cmd, powershell и т.д. Баги есть конечно, но некритичные и OpenSSH обновляется в одну команду choco upgrade openssh — если обнаружен баг надо ишью на гитхабе открывать и починят. С другой стороны а какая альтернатива? Никакой. PSRemoting не доделан, по RDP не получится запускать скрипты из другой ОС. С текущей реализацией OpenSSH на Windows вполне можно жить.


  1. a0fs
    21.11.2017 23:48

    Увидел заголовок, первая мысль была НАКОНЕЦ-ТО, хоть в облачной инфраструктуре MS поддержало сей великолепный протокол. Но оказалось счастья нет.

    OpenSSH для форточек существовал уже давно, и работал с такой-то матерью. Основная проблема: почти полная раньше (до PS) и относительная сейчас неуправляемость хоста через консоль. Да можно, порулить чем-нибудь через PS, но, во первых, это доступно не для всего, а во-вторых, работать с PS со всей его многословностью — то ещё приключение…


    1. infobox Автор
      21.11.2017 23:52

      Увидел заголовок, первая мысль была НАКОНЕЦ-ТО, хоть в облачной инфраструктуре MS поддержало сей великолепный протокол. Но оказалось счастья нет.

      Почему нет, Microsoft дает деньги на SSH for Windows, команда Powershell объявила что SSH будет поддерживаться. Просто все еще в процессе подготовки, но у нас уже доступно и работает.

      относительная сейчас неуправляемость хоста через консоль

      Azure Pack Infrastructure весь работает на Windows Server Core и управляется через консоль (около 60и управляющих серверов и много воркеров). Ученье — свет, неученье — тьма.


  1. Pavel_Sm
    22.11.2017 10:04
    +1

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