Windows: Установка клиента SSH через Powershell

Опубликовано

На все данные актуальны

Установить клиент OpenSSH можно через Powershell как в серверной, так и в  настольной версии Windows. И здесь мы покажем, как это сделать.

Предварительные требования

  1. Ваше устройство должно находиться под управлением Windows Server 2016 (сборка 1709) или Windows 10 (сборка 1809), а также более поздних версий.
  2. В системе, куда вы собираетесь установить клиент OpenSSH, должен быть установлен  PowerShell версии 5.1 или более поздней. Проверить версию можно командой $PSVersionTable.PSVersion. О том, как установить Powershell, вы можете ознакомиться в инструкции “Установка PowerShell в Windows”. 
  3. Учетная запись, из которой вы работаете, должна входить в группу Администраторы.
  4. PowerShell, через который вы будете устанавливать клиента OpenSSH,  должен быть запущен от имени администратора.

Проверка наличия OpenSSH

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

    Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'

Если  клиент OpenSSH не установлен, то результат выполнения команды будет выглядеть примерно так:

    PS C:\WINDOWS\system32> Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

PS C:\WINDOWS\system32>

Значение параметра State в результате выполнения команды может принять следующие значения:

  • NotPresent – Требуется установка клиента openSSH. В этом случае перейдите к параграфу “Основной метод установки” настоящей инструкции. 
  • Installed – Клиент OpenSSH установлен в системе. Перейдите к параграфу “Что дальше?” настоящей инструкции.
  • Not Applicable – Компонент недоступен для текущей версии Windows или не поддерживается в текущей конфигурации системы. Обновите систему до соответствия предварительным требованиям, если это возможно, или используйте иной способ установки, который можете найти в разделе документации “Установка клиента SSH”.

Основной метод установки

  1. Установите клиент OpenSSH командой:
        Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0


    Примечание: Значение параметра -Name должно точно совпадать с именем клиента OpenSSH, указанным в поле Name при выполнении команды Get-WindowsCapability. Если указать некорректное имя, компонент не будет установлен, и сообщение об ошибке не отобразится. Чтобы избежать проблем, проверьте корректность имени компонента перед установкой.

    После запуска команды начнётся процесс установки компонента. По завершению его выполнения отобразится результат, который будет выглядеть примерно следующим образом:
        PS C:\WINDOWS\system32> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
    Path          :
    Online        : True
    RestartNeeded : False
    PS C:\WINDOWS\system32>
  2. Если после установки компонента параметр RestartNeeded принял значение True, то системе требуется обязательная перезагрузка, которую вы можете выполнить командой:
        Restart-Computer


    Примечание: Перед перезагрузкой сохраните все несохраненные файлы и корректно завершите критичные процессы.
  3. Проверьте корректность установки клиента OpenSSH, как описано выше,  в параграфе “Проверка наличия OpenSHH”. О корректности установки и готовности к работе скажет параметр State, принявший значение Installed.

    Если установить клиент OpenSSH таким образом не получилось, то попробуйте альтернативный способ установки, изложенный ниже и проверьте, все ли предварительные требования выполнены. 

Альтернативный метод установки, через DISM

  1. Установите клиент OpenSSH командой:
        dism /online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0


    Начнётся процесс установки компонента, а по завершению его выполнения отобразится результат, который будет выглядеть примерно следующим образом:
        C:\WINDOWS\system32>dism /online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
    
    Deployment Image Servicing and Management tool
    Version: 10.0.17755.1
    
    Image Version: 10.0.17755.1
    
    [==========================100.0%==========================]
    The operation completed successfully.
    Примечание: Значение параметра -Name должно точно совпадать с именем клиента OpenSSH, указанным в поле Name при выполнении команды Get-WindowsCapability. Если указать некорректное имя, компонент не будет установлен, и отобразится сообщение об ошибке: “A Windows capability name was not recognized
  2. Если после установки компонента отобразится сообщение: “A restart is required to complete the operation”, то перезагрузите систему командой:
        Restart-Computer

    Примечание: Перед перезагрузкой сохраните все несохраненные файлы и корректно завершите критичные процессы.
  3. Проверьте успешность установки клиента OpenSSH, как описано выше,  в параграфе “Проверка наличия OpenSHH”. О корректности установки и готовности к работе скажет параметр State, принявший значение Installed.

    Если установить клиент OpenSSH таким образом не получилось, убедитесь, выполнены ли предварительные требования, или примените другой способ установки, который приведён в разделе документации “Установка клиента SSH”.

Что дальше?

После того, как клиент OpenSSH установлен и готов к использованию, вы можете перейти к созданию ключевой пары, как описано в разделе документации “Создание ключевой пары”. А если ключевая пара у вас уже есть, то скопируйте публичный ключ на сервер, как это описано в разделе “Копирование ключа на сервер”.