Настройка SSH для Windows 10

Обновлено: 24.11.2024

Недавно Microsoft выпустила порт OpenSSH для Windows. Вы можете использовать этот пакет для настройки сервера SFTP/SSH в Windows.

Установка SFTP/SSH-сервера

В Windows 11 и Windows 10

  • В Windows 11:
    • Перейдите в раздел Приложения > Дополнительные функции и нажмите Просмотреть функции.
    • Найдите компонент «Сервер OpenSSH», выберите его, нажмите Далее, а затем нажмите Установить.
    • Перейдите в раздел Приложения > Приложения и функции > Дополнительные функции и нажмите Добавить функцию.
    • Найдите компонент «Сервер OpenSSH», разверните его и выберите Установить.

    Двоичные файлы устанавливаются в %WINDIR%\System32\OpenSSH . Файл конфигурации ( sshd_config ) и ключи хоста устанавливаются в %ProgramData%\ssh (только после первого запуска сервера).

    Вы все равно можете использовать следующую ручную установку, если хотите установить более новую версию OpenSSH, чем та, которая встроена в Windows.

    В более ранних версиях Windows

    • Загрузите последние двоичные файлы OpenSSH для Windows (пакет OpenSSH-Win64.zip или OpenSSH-Win32.zip )
    • От имени администратора извлеките пакет в C:\Program Files\OpenSSH
    • От имени администратора установите службы sshd и ssh-agent:

    Настройка SSH-сервера

    • Разрешить входящие подключения к серверу SSH в брандмауэре Windows:
      • При установке в качестве дополнительной функции правило брандмауэра "Сервер OpenSSH SSH (sshd)" должно было быть создано автоматически. Если нет, перейдите к созданию и включению правила следующим образом.
      • Либо выполните следующую команду PowerShell от имени администратора:
        Замените C:\Windows\System32\OpenSSH\sshd.exe фактическим путем к файлу sshd.exe ( C:\Program Files\OpenSSH\ssh. exe , если бы вы следовали приведенным выше инструкциям по ручной установке).
      • или выберите Панель управления > Система и безопасность > Брандмауэр Защитника Windows1> Дополнительные параметры > Правила для входящего трафика и добавьте новое правило для порта 22.
      • Откройте Панель управления > Система и безопасность > Администрирование и откройте Службы. Найдите службу OpenSSH SSH Server.
      • Если вы хотите, чтобы сервер запускался автоматически при включении компьютера: выберите Действие > Свойства. В диалоговом окне "Свойства" измените Тип запуска на Автоматически и подтвердите выбор.
      • Запустите службу OpenSSH SSH Server, нажав кнопку Запустить службу.

      Настройка аутентификации с открытым ключом SSH

      Следуйте общему руководству по настройке аутентификации с открытым ключом SSH на сервере *nix OpenSSH со следующим отличием:

      • Создайте папку .ssh (для файла author_keys) в папке профиля учетной записи Windows (обычно в C:\Users\username\.ssh ).2
      • Для разрешений на папку .ssh и файл author_keys важны разрешения Windows ACL, а не простые разрешения *nix. Настройте ACL таким образом, чтобы соответствующая учетная запись Windows была владельцем папки и файла и была единственной учетной записью, имеющей доступ на запись к ним. Учетная запись, которая запускает службу OpenSSH SSH Server (обычно это SYSTEM или sshd ), должна иметь доступ для чтения к файлу.
      • Тем не менее, с конфигурацией Win32-OpenSSH по умолчанию в sshd_config установлено исключение для учетных записей в группе администраторов. Для них сервер использует другое расположение для файла авторизованных ключей: %ALLUSERSPROFILE%\ssh\administrators_authorized_keys (т. е. обычно C:\ProgramData\ssh\administrators_authorized_keys ).

      Подключение к серверу

      Поиск ключа хоста

      Перед первым подключением узнайте отпечаток ключа хоста сервера, используя ssh-keygen.exe для каждого файла.

      В командной строке Windows используйте:

      При необходимости замените %WINDIR%\System32 на %ProgramFiles% .

      В PowerShell используйте:

      Замените $env:WINDIR\System32 на $env:ProgramFiles , если это уместно.

      Вы получите следующий вывод:

      Подключение

      Запустите WinSCP. Появится диалоговое окно входа. В диалоговом окне:

      • Убедитесь, что выбран узел Новый сайт.
      • Убедитесь, что на новом узле сайта выбран протокол SFTP.
      • Введите IP-адрес вашего компьютера/сервера (или имя хоста) в поле Имя хоста.
      • Введите имя своей учетной записи Windows в поле Имя пользователя. Возможно, его придется вводить в формате пользователь@домен, если он работает в домене.
      • Для аутентификации с открытым ключом:
        • Нажмите кнопку Дополнительно, чтобы открыть диалоговое окно "Дополнительные настройки сайта" и перейдите на страницу SSH > Аутентификация.
        • В поле Файл закрытого ключа выберите файл закрытого ключа.
        • Отправить диалоговое окно дополнительных настроек сайта с помощью кнопки ОК.
        • Введите пароль своей учетной записи Windows в поле Пароль.
        • Если у вашей учетной записи Windows нет пароля, вы не можете пройти аутентификацию с помощью аутентификации по паролю (т. е. с пустым паролем), вам необходимо использовать аутентификацию с открытым ключом.

        Если вы не можете пройти аутентификацию на сервере и использовать Windows 10 в режиме разработчика, убедитесь, что ваш сервер OpenSSH не конфликтует с внутренним SSH-сервером, используемым в режиме разработчика. . Возможно, вам потребуется отключить службы Windows SSH Server Broker и SSH Server Proxy. Или запустите сервер OpenSSH на порту, отличном от 22.

        Крис Хоффман

        Крис Хоффман
        Главный редактор

        Крис Хоффман – главный редактор How-To Geek. Он писал о технологиях более десяти лет и два года был обозревателем PCWorld. Крис писал для The New York Times, давал интервью в качестве эксперта по технологиям на телевизионных станциях, таких как NBC 6 в Майами, и освещал свою работу в таких новостных агентствах, как BBC. С 2011 года Крис написал более 2000 статей, которые были прочитаны почти миллиард раз — и это только здесь, в How-To Geek. Подробнее.

        Microsoft объявила, что в 2015 году представит интегрированный клиент OpenSSH в Windows. Наконец-то они это сделали, и клиент SSH скрыт в обновлении Fall Creators для Windows 10. Теперь вы можете подключаться к серверу Secure Shell из Windows, не устанавливая PuTTY или какое-либо другое стороннее программное обеспечение.

        Обновление: встроенный клиент SSH теперь включен по умолчанию в обновлении Windows 10 за апрель 2018 года. Вот как получить обновление, если оно еще не установлено на вашем ПК.

        В PuTTY могут быть дополнительные функции. Согласно системе отслеживания ошибок проекта на GitHub, интегрированный SSH-клиент на данный момент поддерживает только ключи ed25519.

        Как установить SSH-клиент для Windows 10

        Клиент SSH является частью Windows 10, но это «дополнительная функция», которая не устанавливается по умолчанию.

        Чтобы установить его, перейдите в «Настройки» > «Приложения» и нажмите «Управление дополнительными функциями» в разделе «Приложения и функции».

        Нажмите «Добавить компонент» в верхней части списка установленных компонентов. Если у вас уже установлен клиент SSH, он появится в списке здесь.

        Прокрутите вниз, выберите вариант «Клиент OpenSSH (бета)» и нажмите «Установить».

        Windows 10 также предлагает сервер OpenSSH, который вы можете установить, если хотите запустить сервер SSH на своем ПК. Вы должны установить это только в том случае, если вы действительно хотите запустить сервер на своем ПК, а не просто подключиться к серверу, работающему в другой системе.

        Как использовать SSH-клиент Windows 10

        Теперь вы можете использовать клиент SSH, выполнив команду ssh. Это работает либо в окне PowerShell, либо в окне командной строки, поэтому используйте то, что вам больше нравится.

        Чтобы быстро открыть окно PowerShell, щелкните правой кнопкой мыши кнопку "Пуск" или нажмите Windows+X и выберите в меню "Windows PowerShell".

        Чтобы просмотреть синтаксис команды ssh, просто запустите ее:

        Если вы видите сообщение об ошибке, в котором говорится, что команда не найдена, вам нужно будет выйти и войти снова. Перезагрузка ПК также будет работать. В этом нет необходимости, но это бета-функция.

        Эта команда работает так же, как подключение к SSH-серверу с помощью команды ssh в других операционных системах, таких как macOS или Linux. Его синтаксис или параметры командной строки такие же. Вы даже можете создать файл конфигурации SSH для хранения определений серверов и прокси-серверов.

        По умолчанию команда пытается подключиться к SSH-серверу, работающему через порт 22, который используется по умолчанию. Однако вам может потребоваться подключиться к серверу, работающему на другом порту. Вы делаете это, указав порт с ключом -p. Например, если сервер принимает соединения через порт 7777, вы должны выполнить:

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

        • › Как подключиться к SSH-серверу из Windows, macOS или Linux
        • › Новый Windows-терминал готов; Вот почему это удивительно
        • › Все новое в обновлении Windows 10 за апрель 2018 года уже доступно
        • › 7 основных функций Microsoft Excel для составления бюджета
        • › Почему СМС должен умереть
        • › Что означает XD и как вы его используете?
        • › 5 вещей, которые вы, вероятно, не знали о GIF-файлах
        • › Худшее, что есть в телефонах Samsung, — это программное обеспечение Samsung.

        Мы покажем вам, как установить SSH в Windows 10, включив клиент Windows Open SSH. Мы также познакомим вас с использованием SSH из командной строки.

        Раньше использование SSH в Windows 10 было проблемой, для которой требовалось стороннее программное обеспечение, такое как PuTTy. Однако в 2018 году Microsoft включила собственные команды SSH через интеграцию OpenSSH с Windows.

        Если вы не знакомы с SSH, это означает Secure Shell, протокол, обычно используемый для подключения к серверам Linux. Инструмент SSH из командной строки позволяет вам войти на сервер и удаленно выполнять команды для выполнения любых необходимых задач.

        Интегрированный клиент OpenSSH для Windows

        Клиент OpenSSH для Windows устанавливается по умолчанию в Windows Server 2019 и Windows 10 сборки 1809 и более поздних версиях. Однако, если команды SSH у вас не работают, это потому, что вам нужно включить их в своих функциях Windows. Мы расскажем вам, как включить SSH в Windows 10 с помощью этого метода, а затем покажем, как его использовать. Приступим:

        Как установить клиент SSH в Windows 10

        Хотя в большинстве версий Windows 10 OpenSSH установлен по умолчанию, он подходит не всем. К счастью, включение SSH занимает всего несколько секунд. Вот как:

          Нажмите кнопку "Поиск" и введите "Дополнительная функция"

        Нажмите на верхний результат, который должен выглядеть как "Добавить дополнительную функцию".

        Введите «SSH» в строке поиска дополнительных функций, затем отметьте запись «Клиент OpenSSH». Наконец, нажмите кнопку «Установить» в нижней части окна. Процесс займет несколько секунд и не потребует перезагрузки.

        Как использовать команды SSH в Windows 10

        После того как у вас установлен SSH-клиент для Windows 10, использовать его несложно. Вы можете использовать для этого командную строку или PowerShell SSH, в зависимости от того, что вы предпочитаете. Команды SSH одинаковы для обоих приложений, так что вы все равно можете следовать им.

        Нажмите «Пуск», а затем введите «Командная строка». Нажмите на верхний результат.

        Командная строка вернет полный список параметров и синтаксиса, которые вы сможете использовать по своему усмотрению.

        В большинстве случаев для подключения к SSH-серверу указанные выше параметры не требуются. Вместо этого вы можете просто запустить:

        Вам будет предложено ввести корневой пароль вашего сервера, который вы можете ввести и нажать Enter, чтобы войти в систему.

        Если ваш сервер использует порт, отличный от стандартного для SSH, вы можете указать его, добавив -p номер порта в конце вашей команды.

        При первом подключении к серверу вы получите предупреждение с вопросом, уверены ли вы, что хотите подключиться. Введите yes и нажмите Enter, чтобы подключиться.

        Как открыть порт в брандмауэре или включить клиент Telnet

        Теперь вы знаете, как установить SSH в Windows. Однако, если у вас все еще есть проблемы, вам может потребоваться следовать нашему руководству о том, как открыть или закрыть порт в брандмауэре Windows 10, чтобы добавить исключение для вашего порта SSH.

        Наконец, если ваш сервер использует старый протокол Telnet, вы можете следовать нашему руководству о том, как вместо этого включить клиент Telnet в Windows 10.

        Последние сборки Windows 10 и Windows 11 включают встроенный SSH-сервер и клиент на основе OpenSSH. Это означает, что теперь вы можете удаленно подключаться к Windows 10/11 или Windows Server 2019 с помощью любого SSH-клиента, например дистрибутивов Linux. В этой статье мы покажем вам, как настроить OpenSSH в Windows 10 и Windows 11 и подключиться к нему с помощью Putty или любого другого клиента SSH.

        OpenSSH — это кроссплатформенная версия Secure Shell (SSH) с открытым исходным кодом, которая уже давно используется пользователями Linux. Этот проект в настоящее время портирован на Windows и может использоваться в качестве SSH-сервера практически на любой версии Windows. В последних версиях Windows Server 2022/2019 и Windows 11 OpenSSH встроен в образ операционной системы.

        Как включить SSH-сервер в Windows 10?

        Убедитесь, что ваша сборка Windows 10 – 1809 или новее. Проще всего это сделать, выполнив команду:

        Примечание. Если у вас установлена ​​более старая сборка Windows 10, вы можете обновить ее через Центр обновления Windows или с помощью ISO-образа с более новой версией Windows 10 (вы можете создать образ с помощью Media Creation Tool). Если вы не хотите обновлять сборку Windows 10, вы можете вручную установить порт Win32-OpenSSH для Windows с помощью GitHub.

        Вы можете включить сервер OpenSSH в Windows 10 через графическую панель настроек:

        Вы также можете установить сервер sshd с помощью PowerShell:

        Если вы хотите убедиться, что сервер OpenSSH установлен, выполните следующую команду PS:

        Используйте следующую команду PowerShell для удаления SSH-сервера:

        Как установить SSH-сервер в Windows 11?

        Кроме того, вы можете добавить сервер OpenSSH в Windows 11.

        Двоичные файлы OpenSSH находятся в папке C:\Windows\System32\OpenSSH\.

        Настройка службы SSH в Windows 10 и 11

        Проверьте состояние служб ssh-agent и sshd с помощью команды PowerShell Get-Service:

        Как видите, обе службы находятся в состоянии "Остановлено" и не добавлены в список автоматического запуска. Чтобы запустить службы и настроить для них автозапуск, выполните следующие команды:

        Также необходимо разрешить входящие подключения к TCP-порту 22 в брандмауэре Защитника Windows. Вы можете открыть порт с помощью netsh:

        Или вы можете добавить правило брандмауэра, чтобы разрешить трафик SSH с помощью PowerShell:

        Теперь вы можете подключиться к Windows 10 с помощью любого SSH-клиента. Для подключения из Linux используйте команду:

        Здесь администратор — это локальный пользователь Windows, под которым вы хотите подключиться. 192.168.1.90 — это IP-адрес вашего компьютера с Windows 10.

        После этого в сеансе SSH откроется новое окно командной строки Windows.

        Подсказка. Чтобы запустить cli PowerShell.exe вместо оболочки cmd.exe при входе через SSH в Windows 10, вам необходимо выполнить следующую команду в Windows 10 (под учетной записью администратора):

        Теперь вы измените оболочку OpenSSH по умолчанию. Отсюда при подключении к Windows через SSH вы сразу увидите приглашение PowerShell вместо cmd.exe.

        Если вы хотите использовать аутентификацию ssh на основе ключа вместо аутентификации по паролю, вам необходимо сгенерировать ключ с помощью ssh-keygen на вашем клиенте.

        Затем содержимое файла id_rsa.pub необходимо скопировать в файл c:\users\admin\.ssh\authorized_keys в Windows 10.

        После этого вы можете подключаться с клиента Linux к Windows 10 без пароля. Используйте команду:

        Вы можете настроить различные параметры сервера OpenSSH в Windows, используя файл конфигурации %programdata%\ssh\sshd_config.

        Например, вы можете отключить аутентификацию по паролю и оставить только аутентификацию на основе ключа:

        Здесь вы также можете указать новый порт TCP (вместо порта TCP 22 по умолчанию), через который SSHD будет принимать подключения. Например:

        С помощью директив AllowGroups, AllowUsers, DenyGroups, DenyUsers вы можете указать пользователей и группы, которым разрешено или запрещено подключаться к Windows через SSH:

        • DenyUsers theitbros\jbrown@192.168.1.15 — блокирует соединения с именем пользователя jbrown с хостов 192.168.1.15.
        • DenyUsers theitbros\* — запрещает всем пользователям из домена theitbros подключаться к хосту с помощью sshж
        • AllowGroups theitbros\ssh_allow — разрешить подключение только пользователям с хоста itbtos\ssh_allow.

        Правила разрешения и запрета для sshd обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups и AllowGroups.

        После внесения изменений в файл sshd_config необходимо перезапустить службу sshd:

        В предыдущих версиях OpenSSH для Windows все журналы службы sshd по умолчанию записывались в текстовый файл C:\ProgramData\ssh\logs\sshd.log.

        В Windows 11 журналы SSH можно просматривать с помощью консоли средства просмотра событий (eventvwr.msc). Все события SSH доступны в отдельном разделе Журналы приложений и служб > OpenSSH > Operational.

        Например, на скриншоте показан пример события при успешном подключении к компьютеру по SSH. Вы можете увидеть IP-адрес клиента ssh (имя хоста) и имя пользователя, используемое для подключения.

        Sshd: принятый пароль для jbrown от 192.168.14.14. порт 49833 ssh2

        Мне нравится технология и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.

        Читайте также: