- Install OpenSSH
- Install OpenSSH using Windows Settings
- Install OpenSSH using PowerShell
- Start and configure SSH Server
- Connect to SSH Server
- Uninstall OpenSSH using Windows Settings
- Uninstall OpenSSH using PowerShell
- OpenSSH в среде Windows OpenSSH in Windows
- Как использовать клиент OpenSSH для Windows 10 вместо PuTTY
- Как использовать клиент OpenSSH для Windows 10 вместо PuTTY
- Как установить клиент Windows OpenSSH
- Как использовать встроенный клиент Windows OpenSSH
- Как войти в систему с помощью ключей SSH
- Полезные параметры команды SSH
- Заключение
- Использование встроенного SSH клиента в Windows 10
- Установка клиента OpenSSH в Windows 10
- Как использовать SSH клиенте в Windows 10?
- SCP: копирование файлов из/в Windows через SSH
Install OpenSSH
Applies to Windows Server 2019, Windows 10
OpenSSH is a connectivity tool for remote login that uses the SSH protocol. It encrypts all traffic between client and server to eliminate eavesdropping, connection hijacking, and other attacks.
OpenSSH can be used to connect Window 10 clients to Windows Server 2019. OpenSSH Client is available to install on Windows 10 build 1809 and later, while OpenSSH Server is available to install on Windows Server 2019 and later.
If you downloaded OpenSSH from the GitHub repo at PowerShell/openssh-portable, follow the instructions listed there, not the ones in this article.
Install OpenSSH using Windows Settings
Both OpenSSH components can be installed using Windows Settings. OpenSSH Server is installed on Windows Server and OpenSSH Client is installed on Windows 10 devices.
To install the OpenSSH components:
Open Settings, select Apps > Apps & Features, then select Optional Features.
Scan the list to see if the OpenSSH is already installed. If not, at the top of the page, select Add a feature, then:
- On Windows 10, find OpenSSH Client, then click Install
- On Windows Server 2019, find OpenSSH Server, then click Install
Once setup completes, return to Apps > Apps & Features and Optional Features and you should see OpenSSH listed.
Installing OpenSSH Server will create and enable a firewall rule named OpenSSH-Server-In-TCP . This allows inbound SSH traffic on port 22. If this rule is not enabled and this port is not open, connections will be refused or reset.
Install OpenSSH using PowerShell
To install OpenSSH using PowerShell, run PowerShell as an Administrator. To make sure that OpenSSH is available, run the following cmdlet:
This should return the following output:
Then, install the server or client components as needed:
Both of these should return the following output:
Start and configure SSH Server
To start and configure OpenSSH server for initial use, open PowerShell as an administrator, then run the following commands to start the SSHD service :
Connect to SSH Server
Once installed, you can connect to OpenSSH Server from a Windows 10 device with the SSH client installed using PowerShell as follows. Be sure to run PowerShell as an administrator:
Once connected, you get a message similar to the following:
Selecting yes adds that server to the list of known ssh hosts on your Windows client.
You are prompted for the password at this point. As a security precaution, your password will not be displayed as you type.
Once connected, you will see the Windows command shell prompt:
Uninstall OpenSSH using Windows Settings
To uninstall OpenSSH using Windows Settings:
- Open Settings, then go to Apps > Apps & Features.
- Go to Optional Features.
- In the list, select OpenSSH Client or OpenSSH Server.
- Select Uninstall.
Uninstall OpenSSH using PowerShell
To uninstall the OpenSSH components using PowerShell, use the following commands:
You may need to restart Windows afterwards if the service was in use at the time it was uninstalled.
OpenSSH в среде Windows OpenSSH in Windows
OpenSSH представляет собой версию инструментов Secure Shell (SSH) с открытым кодом. Ее используют администраторы Linux и других систем, кроме Windows, для кроссплатформенного управления удаленными системами. OpenSSH is the open-source version of the Secure Shell (SSH) tools used by administrators of Linux and other non-Windows for cross-platform management of remote systems. Инструменты OpenSSH добавлены в Windows с осени 2018 г. Они входят в состав Windows 10 и Windows Server 2019. OpenSSH has been added to Windows as of autumn 2018, and is included in Windows 10 and Windows Server 2019.
Протокол SSH основан на архитектуре клиент-сервера, где клиентом считается система, на которой работает пользователь, а сервером — управляемая удаленная система. SSH is based on a client-server architecture where the system the user is working on is the client and the remote system being managed is the server. OpenSSH включает ряд компонентов и средств, позволяющих обеспечить безопасный и удобный метод удаленного администрирования системы, в том числе: OpenSSH includes a range of components and tools designed to provide a secure and straightforward approach to remote system administration, including:
- серверный компонент sshd.exe, который должен работать в удаленно управляемой системе; sshd.exe, which is the SSH server component that must be running on the system being managed remotely
- клиентский компонент ssh.exe, который работает в локальной системе пользователя; ssh.exe, which is the SSH client component that runs on the user’s local system
- ssh-keygen.exe для создания, администрирования и преобразования ключей проверки подлинности SSH; ssh-keygen.exe generates, manages and converts authentication keys for SSH
- ssh-agent.exe для хранения закрытых ключей, которые используются в процессах проверки подлинности с открытым ключом; ssh-agent.exe stores private keys used for public key authentication
- ssh-add.exe для добавления закрытых ключей в список ключей, разрешенных к использованию на сервере; ssh-add.exe adds private keys to the list allowed by the server
- ssh-keyscan.exe для быстрого получения открытых ключей SSH с нескольких узлов; ssh-keyscan.exe aids in collecting the public SSH host keys from a number of hosts
- служба sftp.exe реализует протокол передачи файлов SFTP (Secure File Transfer Protocol), который работает поверх SSH; sftp.exe is the service that provides the Secure File Transfer Protocol, and runs over SSH
- служебная программа scp.exe для копирования файлов, которая работает поверх SSH. scp.exe is a file copy utility that runs on SSH
Документация в этом разделе описывает использование OpenSSH в Windows, включая установку, настройку для среды Windows и сценарии использования. Documentation in this section focuses on how OpenSSH is used on Windows, including installation, and Windows-specific configuration and use cases. В ней рассматриваются следующие темы. Here are the topics:
Дополнительную подробную документацию по типичным функциям OpenSSH можно получить в Интернете по адресу OpenSSH.com. Additional detailed documentation for common OpenSSH features is available online at OpenSSH.com.
Главный репозиторий проекта OpenSSH с открытым исходным кодом управляется разработчиками проекта OpenBSD. The master OpenSSH open source project is managed by developers at the OpenBSD Project. Вилка Microsoft в этом проекте размещается на GitHub. The Microsoft fork of this project is in GitHub. Мы будем рады получить ваши отзывы об OpenSSH для Windows, которые вы можете оставить, создав на GitHub описание проблемы в репозитории для OpenSSH. Feedback on Windows OpenSSH is welcomed and can be provided by creating GitHub issues in our OpenSSH GitHub repo.
Как использовать клиент OpenSSH для Windows 10 вместо PuTTY
Как использовать клиент OpenSSH для Windows 10 вместо PuTTY
Когда вам нужно управлять * nix-машиной на расстоянии, вы почти всегда будете использовать SSH. Любая операционная система на базе BSD или Linux, работающая на сервере, будет поставляться с предустановленным демоном OpenSSH. Чтобы общаться с этим демоном и взаимодействовать с удаленным компьютером, вам также нужен SSH-клиент.
PuTTY долгое время был самым популярным SSH-клиентом, используемым в Windows, но с момента последнего серьезного обновления Windows 10 теперь поставляется с предустановленным SSH-клиентом.
Использовать этот клиент проще и быстрее, чем устанавливать и настраивать PuTTY.
Как установить клиент Windows OpenSSH
Сначала проверьте, установлен ли он уже. Нажмите клавишу с логотипом Windows на клавиатуре или нажмите «Пуск». Введите cmd и откройте командную строку.
Теперь введите ssh и нажмите Enter. Должна отображаться краткая сводка параметров командной строки. Это означает, что клиент установлен, и вы можете пропустить оставшуюся часть этого раздела.
Если вы получите сообщение о том, что команда не распознана, щелкните меню «Пуск» и введите функции , Откройте «Приложения и функции» и нажмите «Управление дополнительными функциями».
Затем нажмите «Добавить функцию» и прокрутите вниз, пока не найдете OpenSSH Client. Установите его, и вы должны начать работать.
Как использовать встроенный клиент Windows OpenSSH
Если вы знакомы с командой ssh в Linux, вы уже знаю, как использовать его в Windows. Он имеет тот же синтаксис и параметры командной строки.Вы можете прочитать полное руководство по SSH на веб-сайте OpenBSD.
Основной синтаксис для подключения к серверу: ssh username @ IP-address-or-hostname.
ssh root @ 203.0.113.1 ssh john@example.com
Когда вы входите с паролем, это легко. Просто введите yes, чтобы принять отпечаток пальца, а затем введите свой пароль (символы не будут отображаться на экране).
Однако рекомендуется вместо паролей использовать ключи SSH. Компьютеры-зомби из ботнетов постоянно сканируют и пытаются взломать пароли на серверах OpenSSH. Ключи не могут быть взломаны. Они намного более безопасны, чем использование обычно рекомендуемой схемы паролей плюс fail2ban. Fail2ban блокирует несколько попыток с одного и того же IP, но другой IP будет пытаться использовать разные пароли, пока одному из них не повезет.
Как войти в систему с помощью ключей SSH
Существует много способов создания ключа. пары для аутентификации SSH. И у вас также есть ssh-keygen, доступный в Windows, который вы можете использовать в командной строке. После создания пары добавьте открытый ключ на свой сервер и отключите пароли для входа. После этого сохраните закрытый ключ на своем компьютере Windows.
При входе в систему вы можете указать путь к этому (закрытому) ключу после параметра -i в команде, такой как:
ssh -i C : Usersmtetestkey root@203.0.113.1
В противном случае вы можете переместить закрытый ключ в его местоположение по умолчанию. После первого подключения SSH-клиент создает каталог .ssh в вашем текущем пользовательском каталоге.Вы можете открыть каталог, введя его в командной строке:
explorer% userprofile% .ssh
Теперь скопируйте сюда свой закрытый ключ и назовите его id_rsa.
From Теперь вы можете войти в систему с этим закрытым ключом, не используя параметр -i.
Полезные параметры команды SSH
- -p Используйте это, если ваш SSH-сервер прослушивает другой порт (кроме 22). Пример: ssh -p 4444 root@203.0.113.1
- -C Сжатие трафика между клиентом и сервером. Полезно только при очень медленных соединениях
- -v Подробный режим, выводит намного больше информации о происходящем. Может помочь отладить проблемы с подключением.
ssh -p 4444 -C -v root@203.0.113.1
Заключение
С этого момента это в основном тот же OpenSSH-клиент, который вы найдете на компьютерах с Linux, также доступны некоторые команды, такие как sftp. Это облегчает загрузку и выгрузку файлов на / с удаленных серверов. Для тех, кто предпочитает командную строку, это означает, что им больше не нужно устанавливать FTP-клиенты, такие как FileZilla. Также возможно настроить SSH-туннели с помощью команды ssh.
Мы можем рассмотреть это в будущем руководстве, поскольку оно делает невозможными некоторые вещи, такие как принятие внешних подключений на локальном компьютере, даже если ваш провайдер не предлагает вам частный внешний IP-адрес (больше клиентов сидят за одним IP-адресом в Интернете).
Использование встроенного SSH клиента в Windows 10
В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.
Установка клиента OpenSSH в Windows 10
Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.
Проверьте, что SSH клиент установлен:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’
В нашем примере клиент OpenSSH установлен (статус: State: Installed).
Если SSH клиент отсутствует (State: Not Present), его можно установить:
- С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
- С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Client
0.0.1.0
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
- ssh.exe – это исполняемый файл клиента SSH;
- scp.exe – утилита для копирования файлов в SSH сессии;
- ssh-keygen.exe – утилита для генерации ключей аутентификации;
- ssh-agent.exe – используется для управления ключами;
- ssh-add.exe – добавление ключа в базу ssh-агента.
Как использовать SSH клиенте в Windows 10?
Чтобы запустить SSH клиент, запустите командную строку PowerShell или cmd.exe . Выведите доступные параметры и синтаксис утилиты ssh.exe, набрав команду:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command]
Для подключения к удаленному серверу по SSH используется команда:
Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:
ssh username@host -p port
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
ssh root@192.168.1.92 -i «C:\Users\username\.ssh\id_rsa»
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
Еще несколько полезных аргументов SSH:
- -C – сжимать трафик между клиентом и сервером (полезно на медленных и нестабильных подключениях);
- -v – вывод подробной информации обо всех действия клиента ssh;
- -R / -L – можно использовать для проброса портов через SSH туннель.
SCP: копирование файлов из/в Windows через SSH
С помощью утилиты scp.exe, которая входит в состав пакета клиента SSH, вы можете скопировать файл с вашего компьютера на SSH сервер:
scp.exe «E:\ISO\CentOS-8.1.1911-x86_64.iso» root@192.168.1.202:/home
Можно рекурсивно скопировать все содержимое каталога:
scp -r E:\ISO\ root@192.168.1.202:/home
И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:
scp.exe root@192.168.1.202:/home/CentOS-8.1.1911-x86_64.iso e:\tmp
Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.