Я хотел бы установить клиент OpenSSH, предоставляемый Microsoft, для Windows 10 на машинах, у которых нет доступа в Интернет.
Обычно инструкции по установке клиента OpenSSH включают выполнение такой команды в PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Или, как вариант, с помощью инструмента DISM в командной строке:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
Однако я обнаружил, что эти команды работают только в том случае, если у машины есть доступ в Интернет, что имеет смысл, поскольку каждая команда использует переключатель «Онлайн». Наличие переключателя «Online» заставляет меня думать, что, возможно, есть способ выполнить установку в автономном режиме. Такая автономная установка, вероятно, потребует загрузки и размещения файлов на машинах, которые Add-WindowsCapability
или DISM.exe
умеет пользоваться.
Можно ли установить клиент OpenSSH без доступа в Интернет?
Если вы готовы принять что-то вроде руководства и хитрости, можно скачать их официальные релизы, извлеките двоичные файлы и добавьте их в свой PATH
переменная окружения.
Источник: Блог по безопасной инфраструктуре, подготовленный группой по безопасной инфраструктуре Microsoft
Автономная установка OpenSSH Server на Windows Server 2019
Для решения этой проблемы вам потребуются как диск Windows Server 2019 Features On Demand, так и диск Windows 10 Features On Demand. После того, как вы загрузили оба диска / ISO, выполните следующие простые шаги.
Извлеките весь ISO-образ Windows Server 2019 Features On Demand в локальный каталог на сервере (например, C: \ FOD). Откройте ISO-образ Windows 10 Features On Demand и скопируйте следующие CAB-файлы в каталог с извлеченными файлами Windows Server 2019 Features On Demand. OpenSSH-Client-Package ~ 31bf3856ad364e35 ~ amd64 ~~ .cab OpenSSH-Server-Package ~ 31bf3856ad364e35 ~ amd64 ~~ .cab Запустите Add-WindowsCapability -online -name OpenSSH.Server ~~~~ 0.0.1.0 -source C: \ FOD После этого вы увидите следующий вывод:
Add-WindowsCapability -Name OpenSSH.Server~~~~0.0.1.0 -Online -Source c:\FOD
Path :
Online : True
RestartNeeded : False
Теперь OpenSSH Server установлен на сервере в автономной среде, вы сможете увидеть службу OpenSSH SSH Server.
В Добавить-WindowsCapability У командлета есть метод установки из локального файла пакета. Я скопировал пример по ссылке здесь. Ключ - это параметр -Source, который должен указывать на расположение CAB-файла, содержащего устанавливаемую функцию Windows.
Add-WindowsCapability -Online -Name "Msix.PackagingTool.Driver~~~~0.0.1.0" -Source "E:\" -LimitAccess
Чтобы получить файл CAB, вам необходимо сначала получить ISO-образ Windows FOD (Feature-On-Demand) и извлечь из него необходимый пакет.
P.S. Флаг -Online используется при установке в действующую ОС и не относится к активному интернет-соединению.