Настройка 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 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.
Читайте также: