OpenSSH for Windows 8.6p1
A new major update to OpenSSH for Windows (thanks to the @PowerShell team).
It comes with OpenSSH 8.6p1 and LibreSSL 3.3.3
You can download OpenSSH for Windows through the buttons below or via the binaries at the bottom of this release.
OpenSSH for Windows x64 | OpenSSH for Windows x86 |
---|---|
Hope you enjoy OpenSSH for Windows!
© 2020 — 2021, Lumito — www.lumito.net
OpenSSH for Windows 8.6p1-beta1
Whoah! OpenSSH for Windows 8.6p1-beta1 is now available for download. It (only) comes with OpenSSH 8.6p1 and some minor bugfixes.
NOTE: This is a beta release. That means that it may not be stable because it is under development.
You can download OpenSSH for Windows through the buttons below or via the binaries at the bottom of this release.
OpenSSH for Windows x64 | OpenSSH for Windows x86 |
---|---|
Hope you enjoy OpenSSH for Windows!
© 2020 — 2021, Lumito — www.lumito.net
OpenSSH for Windows 8.2p1
OpenSSH for Windows is a native port of OpenSSH to Windows. Here, in this repo, I’ve created an installer to make it easier to obtain and configure the binaries.
What’s new in version 8.2p1?
- OpenSSH version 8.2p1
- LibreSSL version 3.0.2
- Choose if you want to register SSHD and SSH-AGENT services
- Project rebranded to OpenSSH-for-Windows (before was OpenSSHforWindows-Installer)
- Other minor improvements
You can download OpenSSH for Windows through the buttons below or via the binaries at the bottom of this release.
OpenSSH for Windows x64 | OpenSSH for Windows x86 |
---|---|
Hope you enjoy OpenSSH for Windows!
© 2020 — 2021, Lumito — www.lumito.net
Released version 8.1
First release of OpenSSH for Windows — Installer!
It comes with this features:
- A setup wizard for x64 and x86 systems
- A modern OpenSSH version for a Windows OS
- Fully tested with various Windows 10 systems
- An old setup available by downloading the source code
You can download OpenSSH for Windows — Installer through the buttons below or via the binaries at the bottom of this release.
OpenSSH for Windows x64 | OpenSSH for Windows x86 |
---|---|
Hope you enjoy OpenSSH for Windows — Installer 8.1!
© 2020, Lumito — www.lumito.net
Как вы уже знаете, Windows 10 включает в себя встроенное программное обеспечение SSH — как клиент, так и сервер! Это очень полезно, когда вам нужно быстро получить доступ к серверу Linux. Все может быть сделано всего за несколько кликов, без установки дополнительного программного обеспечения.
На компьютерах с Windows, бесплатное ПО PuTTY является стандартом де-факто, когда дело доходит до SSH и Telnet. В Windows 10 Microsoft, наконец, прислушалась к просьбам пользователей после нескольких лет ожиданий, Microsoft добавила поддержку протокола OpenSSH в версии обновления Fall Creators.
На момент написания статьи программное обеспечение OpenSSH, включенное в Windows 10, находится на стадии BETA. Это означает, что у него могут быть небольшие проблемы с стабильностью.
Предоставленный клиент SSH похож на клиент Linux. На первый взгляд, он поддерживает те же функции, что и его аналог * NIX. Это консольное приложение, поэтому вы можете запустить его с помощью командной строки. Давайте включим его.
Как включить клиент OpenSSH в Windows 10.
- Откройте приложение «Параметры» и перейдите в «Приложения» → «Приложения и возможности».
- Справа нажмите «Управление дополнительными компонентами».
- На следующей странице нажмите кнопку «Добавить компонент».
- В списке компонентов выберите OpenSSH Client и нажмите кнопку «Установить».
Включить клиент OpenSSH в Windows 10
Это установит клиентское ПО OpenSSH в Windows 10. Его файлы находятся в папке c:\windows\system32\Openssh. Помимо клиента SSH, папка содержит следующие клиентские инструменты:
- scp.exe
- sftp.exe
- SSH-add.exe
- SSH-agent.exe
- SSH-keygen.exe
- ssh.exe
- и конфигурационный файл «sshd_config».
- Перезагрузите Windows 10, В противном случае вам придется ввести полный путь к этим файлам, чтобы использовать их.
Попытка запустить ssh без перезапуска приводит к этой типичной ошибке.
PS C:\> ssh
sshd : The term ‘ssh’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ sshd
+ ~~~~
+ CategoryInfo : ObjectNotFound: (ssh:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
После того, как вы перезагрузили, результат стал более обнадеживающим.
PS C:\> 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]]
[user@]hostname [command]
Также вы можете установить клиент SSH с помощью PowerShell.
Откройте PowerShell от имени Администратора и выполните следующую команду и перезагрузите систему:
Get-WindowsCapability -Online | Where-Object{$_.Name -like “OpenSSH.Client*”}
Теперь вы можете попробовать SSH в действии.
- Откройте новое окно командной строки.
- Введите команду ssh, используя следующий синтаксис:
Например подключение к серверу CentOS 7
ssh username@171.16.1.10
Результат будет следующим:
ssh username@171.16.1.10
The authenticity of host ‘171.16.1.10 (171.16.1.10)’ can’t be established.
ED42519 key fingerprint is SHA256:REMOVED.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘171.16.1.10’ (ED42519) to the list of known hosts.
username@171.16.1.10’s password:
Last login: Tue Oct 31 00:23:33 2017 from 10.22.202.6
[username@centos ~]$ uname -a
Linux centos 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Встроенный клиент почти идентичен традиционному SSH-клиенту из пакета OpenSSH, доступного в Linux. И имеет ту же самую консоль. Это очень полезно, когда вам нужно изменить какой-либо параметр конфигурации или перезапустить демон. Если вы используете для управления ПК Linux из командной строки, вы найдете это полезным.
Тем не менее, есть еще много ситуаций, когда добрый старый PuTTY выигрывает гонку. Как по мне, встроенное ПО OpenSSH хорошо работает для базовых функций, если вы не хотите устанавливать PuTTY на ПК. Это также полезно, если вы профессиональный пользователь Linux, который наизусть знает все параметры клиента SSH.
OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ssh and server sshd, file transfer utilities scp and sftp as well as tools for key generation (ssh-keygen), run-time key storage (ssh-agent) and a number of supporting programs. This is a port of OpenBSD’s OpenSSH to most Unix-like operating systems, including Linux, OS X and Cygwin. Portable OpenSSH polyfills OpenBSD APIs that are not available elsewhere, adds sshd sandboxing for more operating systems and includes support for OS-native authentication and auditing (e.g. using PAM). There are many build-time customization options available.
Features
- Portable OpenSSH is built using autoconf and make
- It requires a working C compiler, standard library and headers
- libcrypto from either LibreSSL or OpenSSL may also be used
- OpenSSH may be built without it supporting a subset of crypto algorithms
- zlib is optional; without it transport compression is not supported
- FIDO security token support needs libfido2 and its dependencies
Project Samples
eSkill features an extensive modular subject library that enables users to create single or multi-subject based exams for applicants. eSkill allows users to edit existing questions, upload or generate their own test content with the application’s editor. eSkill also provides users with a number of job-based assessments that test employee skills for different positions in different industries.
User Ratings
5.0
out of 5 stars
★★★★★
★★★★
★★★
★★
★
ease
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5
0 / 5
features
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5
0 / 5
design
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5
0 / 5
support
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5
0 / 5
Additional Project Details
Operating Systems
Windows
В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.
Содержание:
- Установка клиента OpenSSH в Windows 10
- Как использовать SSH клиенте в Windows 10?
- SCP: копирование файлов из/в Windows через SSH
Установка клиента 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 и нажмите кнопку Установить.
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
- ssh.exe – это исполняемый файл клиента SSH;
- scp.exe – утилита для копирования файлов в SSH сессии;
- ssh-keygen.exe – утилита для генерации ключей аутентификации;
- ssh-agent.exe – используется для управления ключами;
- ssh-add.exe – добавление ключа в базу ssh-агента.
Вы можете установить OpenSSH и в предыдущих версиях Windows – просто скачайте и установите Win32-OpenSSH с GitHub (есть пример в статье “Настройка SSH FTP в Windows”).
Как использовать 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 username@host
Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:
ssh username@host -p port
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
ssh [email protected]
При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
С помощью SSH вы можете подключаться не только к *Nix подобным ОС, но и к Windows. В одной из предыдущих статей мы показали, как настроить OpenSSH сервер на Windows 10 и подключиться к нему с другого компьютера Windows с помощью SSH клиента.
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
ssh [email protected] -i "C:\Users\username\.ssh\id_rsa"
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
ssh-add "C:\Users\username\.ssh\id_rsa"
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
ssh [email protected]
Еще несколько полезных аргументов 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" [email protected]:/home
Можно рекурсивно скопировать все содержимое каталога:
scp -r E:\ISO\ [email protected]:/home
И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:
scp.exe [email protected]:/home/CentOS-8.1.1911-x86_64.iso e:\tmp
Если вы настроите аутентификацию по RSA ключам, то при копировании файлов не будет появляться запрос на ввод пароля для подключения к SSH серверу. Это удобно, когда вам нужно настроить автоматическое копирование файлов по расписанию.
Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.
Use SSH on Windows, how running/launching graphical programs on remote computer in the same user session logon on Windows OS.
Requirements:
– OpenSSH (you can download the binaries from the official repository on github https://github.com/PowerShell/Win32-OpenSSH/releases)
– PsTools (official useful tools from Microsoft https://docs.microsoft.com/en-us/sysinternals/downloads/pstools)
– PowerShell
Install Pstools (by microsoft)
- Download the tools
- Copy the content of the folder PSTools under “C:\Windows\System32\”.
- Open the cmd as administrator and run C:\Windows\System32\psexec.exe, accept the eula license.
Install SSH Server on Windows 7 / 10
- Download the latest OpenSSH for Windows binaries (package OpenSSH-Win64.zip or OpenSSH-Win32.zip)
- As the Administrator, extract the package to %PROGRAMFILES%\OpenSSH
note: the folder must be named “OpenSSH” - Open PowerShell as the Administrator (right click on PowerShell icon, “run as administrator”), change directory to “C:\Program Files\OpenSSH” install sshd and ssh-agent services with the command
> cd “%PROGRAMFILES%\OpenSSH” > powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
- Allow incoming connections to SSH server in Windows Firewall:
– Either run the following PowerShell command (Windows 8 and 2012 or newer only), as the Administrator:New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
– or go to Control Panel > System and Security > Windows Firewall> Advanced Settings > Inbound Rules and add a new rule for port 22.
- Start the service and/or configure automatic start:
◦ Go to Control Panel > System and Security > Administrative Tools and open Services. Locate sshd service.
◦ If you want the server to start automatically when your machine is started: Go to Action > Properties. In the Properties dialog, change Startup type to Automatic and confirm.
◦ Start the sshd service by clicking the Start the service. - Create the ~./.ssh folder under C:\Users\<user>\.ssh
- Create the file “authorized_keys” under ~./.ssh
- Run the scrips to fix/check correct permission a PowerShell with administrator privilege.
> powershell.exe -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1 > powershell.exe -ExecutionPolicy Bypass -File FixUserFilePermissions.ps1
- Personalize your SSH server settings editing the configuration file %PROGRAMDATA%\ssh\sshd_config.
Install SSH Client on Windows 7 / 10
- Do the step from 1 to 2 from the above paragraph “Install SSH Server on Windows 7 / 10”
Enable public keys without using password on client
- Open cmd.exe as Administrator and run ssh-keygen.exe and press enter to all message for default configuration
> cd “%PROGRAMFILES%\OpenSSH” > ./ssh-keygen.exe
Enable public keys without using password on Server
- Copy the private and public key on the ~.ssh folder of the user that you want use on the server.Run ssh-add.exe to add you private and public key to the ssh-agent.
Note: ensure that ssh-agent is running.
> ./ssh-add.exe
Run graphical programs on remote computer with Windows using psexec.exe
Connect to the remote machine with ssh and run notepad.exe on the remote computer in the same user sessions opened.
> cd “%PROGRAMFILES%\OpenSSH” > ssh.exe [remote_local_user]@[remote_ip] -i “C:\Users\\.ssh\id_rsa” user@remote_ip> psexec.exe \\127.0.0.1 -d -i -s notepad.exe