Skip to content

Win32 OpenSSH RoadMap

manojampalam edited this page May 25, 2016 · 14 revisions

This is a living document

The primary focus over the next 3-4 months is three fold:

Reliability (March)

The current implementation of the POSIX IO wrapper ("select" and "fd" IO) for Windows has some limitations. Specifically, since it spawns numerous threads (one for each set fd in fd_sets passed to select), it does not scale. The overhead of synchronization between these threads impacts performance and reliability. We are currently working on replacing this with one that takes advantage of the native asynchronous IO support available in Windows (Overlapped IO) - hoping that many of the random IO related issues being reported will be resolved with this change.

Security (April, May)

Our current implementation requires the SSH daemon to run as Local System with high privileges. We are working on moving to a more secure model that runs the daemon with the least privileges required (and most likely as Network Service). We will also address other Windows relevant security aspects including key-based authentication and secure credential/passphrase management.

Code Prep (June, July)

The goal of this port is to ultimately converge in OpenSSH's main repo. Over the next couple of months, we will progressively seek feedback from the the OpenSSH community, prepare and refactor code as needed, with a plan to integrate into the main repo around the middle of 2016.

Rough timeline on when the key tasks would be accomplished:

Date Task Comments
3/31/2016 Reliability Enhancements
5/15/2016 Security Enhancements
6/15/2015 Code Prep for integration
7/15/2015 Integration in main repo

The intention is to be close in feature parity with OpenSSH by 7/15, following OpenSSH features will however will NOT be ready by this deadline:

  • VerifyHostKeyDNS
  • Client ControlMaster
  • Background ssh execution mode
  • VPN forwarding
  • PKCS based smart cards
  • GSSAPI based authentication
  • Host based authentication (needs security review closure)
  • Authentication forwarding (needs security review closure)
  • Compression

Following Windows specific feature/work items are not in scope for this deadline:

  • MINGW build support
  • Use MS CNG (instead of OpenSSL)
  • Key management using MS CNG
  • Xterm, VT220 terminal modes
  • ETW Logging (syslog alternative in Windows)

If you are looking for a specific feature not in above list and not in here, feel free to add it issue list.

Clone this wiki locally