openssh-portable/contrib/win32/openssh
pedro martelletto f82b197a3e
bump LibreSSL to 3.4.2.0 and fetch libfido2 from developers.yubico.com (#556)
2022-01-28 14:41:23 -08:00
..
AnalyzeCodeDiff.ps1
AppveyorHelper.psm1 Add appveyor debug logs 2021-04-29 17:09:46 -07:00
BinSkimConfig.xml
CredScanSuppress.json add files with test pws to credscan suppression (#528) 2021-09-21 11:51:53 -07:00
DockerFile Update docker file and build helper (#436) 2020-03-17 22:23:04 -07:00
FixHostFilePermissions.ps1
FixUserFilePermissions.ps1 user permission fix to include ecdsa and ed25519 (#446) 2021-05-03 12:40:10 -07:00
GetFIDO2.ps1 bump LibreSSL to 3.4.2.0 and fetch libfido2 from developers.yubico.com (#556) 2022-01-28 14:41:23 -08:00
GetLibreSSL.ps1 Added config option to target a specific version of LibreSSL (#405) 2019-11-01 11:10:33 -07:00
GetZLib.ps1 Added compression support vai Zlib (#404) 2019-11-01 10:57:34 -07:00
MSG00001.bin
MicrosoftTelemetry.h Telemetry (#529) 2021-10-11 14:46:32 -07:00
OpenSSH-build.ps1 Code cleanup & minor fixes (#415) 2019-12-12 14:24:35 -08:00
OpenSSHBuildHelper.psm1 Build script: VS2019 & VS2017 build tools (#550) 2022-01-10 11:41:47 -08:00
OpenSSHCommonUtils.psm1
OpenSSHTestHelper.psm1 Allow non-admin user processes to log message to ETW / log file (#513) 2021-06-11 16:56:04 -07:00
OpenSSHUtils.psd1
OpenSSHUtils.psm1 detect add-type edge case with powershell 7 (#554) 2022-01-21 11:33:53 -08:00
OpenSSL-1.0.2d_build.cmd
Openssh-events.man
README.txt Enable support for FIDO2/U2F security keys (#541) 2021-12-17 18:30:25 -08:00
SignConfig.xml
Win32-OpenSSH.sln Enable support for FIDO2/U2F security keys (#541) 2021-12-17 18:30:25 -08:00
Win32-OpenSSh-design.pptx
bash_tests_iterator.ps1 Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
build.json
config.h.vs Enable support for FIDO2/U2F security keys (#541) 2021-12-17 18:30:25 -08:00
config.ps1
config.vcxproj Enable support for FIDO2/U2F security keys (#541) 2021-12-17 18:30:25 -08:00
config.vcxproj.filters
etwgen.cmd
install-sshd.ps1 sftp-server running on windows writes incoming file from linux client… (#502) 2021-04-28 14:56:51 -07:00
keygen.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
keygen.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
libssh.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
libssh.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
openbsd_compat.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
openbsd_compat.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
openssh-events.rc
openssh-eventsTEMP.BIN
openssh_build.cmd
paths.targets bump LibreSSL to 3.4.2.0 and fetch libfido2 from developers.yubico.com (#556) 2022-01-28 14:41:23 -08:00
resource.h
scp.vcxproj Long file name arm64 platform (#422) 2019-12-17 14:14:59 -08:00
scp.vcxproj.filters
sftp-server.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
sftp-server.vcxproj.filters
sftp.vcxproj Long file name arm64 platform (#422) 2019-12-17 14:14:59 -08:00
sftp.vcxproj.filters
ssh-add.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh-add.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh-agent.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh-keyscan.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh-keyscan.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh-shellhost.vcxproj Long file name arm64 platform (#422) 2019-12-17 14:14:59 -08:00
ssh-sk-helper.vcxproj Enable support for FIDO2/U2F security keys (#541) 2021-12-17 18:30:25 -08:00
ssh.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
ssh.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
sshTelemetry.c add connection status from sshd and remote protocol version to telemetry (#539) 2021-11-30 10:52:53 -08:00
sshTelemetry.h add connection status from sshd and remote protocol version to telemetry (#539) 2021-11-30 10:52:53 -08:00
sshTelemetryInternal.h Telemetry (#529) 2021-10-11 14:46:32 -07:00
sshd.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
sshd.vcxproj.filters Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
sshd_config sshd_config - change default for GSSAPIAuthentication (#370) 2019-01-10 10:29:12 -08:00
targetos.manifest Add Long File Name Support (#400) 2019-12-17 12:40:36 -08:00
uninstall-sshd.ps1 Check if Powershell is running in admin mode before running script (#493) 2021-03-30 14:01:43 -07:00
unittest-bitmap.vcxproj
unittest-hostkeys.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
unittest-kex.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
unittest-match.vcxproj
unittest-sshbuf.vcxproj
unittest-sshkey.vcxproj Bagajjal/compile test v8.6 (#503) 2021-04-29 12:41:08 -07:00
unittest-utf8.vcxproj
unittest-win32compat.vcxproj
updateSigning.ps1
version.rc crank OpenSSH v8.6 2021-05-07 16:34:30 -07:00
vstsbuild.ps1
win32iocompat.vcxproj Telemetry (#529) 2021-10-11 14:46:32 -07:00
win32iocompat.vcxproj.filters Telemetry (#529) 2021-10-11 14:46:32 -07:00

README.txt

Custom paths for the visual studio projects are defined in paths.targets.  

All projects import this targets file, and it should be in the same directory as the project.

The custom paths are:

OpenSSH-Src-Path            =  The directory path of the OpenSSH root source directory (with trailing slash)
OpenSSH-Bin-Path            =  The directory path of the location to which binaries are placed.  This is the output of the binary projects
OpenSSH-Lib-Path            =  The directory path of the location to which libraries are placed.  This is the output of the libary projects
LibreSSL-x86-Path           =  The directory path of LibreSSL statically compiled for x86 platform.
LibreSSL-x64-Path           =  The directory path of LibreSSL statically compiled for x64 platform.

Notes on FIDO2 support
----------------------

* How to build:

  - Open Windows PowerShell.

  - Build OpenSSH for Windows:

    $ cd \path\to\openssh-portable\..
    $ .\openssh-portable\contrib\win32\openssh\OpenSSH-build.ps1

* What has been tested:

  * Using a Yubico Security Key.

  - Create a new SSH key:

    $ ssh-keygen.exe -t ecdsa-sk

    * Save the key material in SSH's default paths without an associated passphrase.

  - Add the SSH key to your GitHub account.

  - Tell git to use our SSH build:

    $ $Env:GIT_SSH = '\path\to\ssh.exe'

  - Clone a repository using the SSH key for authentication:

    $ git clone ssh://git@github.com/org/some-private-repo

* WSL2:

  - Export GIT_SSH:

    $ export GIT_SSH=/mnt/c/.../path/to/ssh.exe

  - Optionally, alias ssh:

    $ alias ssh=/mnt/c/.../path/to/ssh.exe

* Note: FIDO2 keys are supported by ssh-agent.

* What definitely doesn't work:

  * ssh-keygen -O no-touch-required:
    - there does not appear to be a way to toggle user presence in WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS.
  * ssh-keygen -K, ssh-add -K:
    - these use Credential Management to reconstruct the SSH private key.