PowerShell / Win32-OpenSSH

Win32 port of OpenSSH
7.34k stars 755 forks source link

Blog Article Request: Current Project Status and Future Planning #1270

Open JasonFossen opened 5 years ago

JasonFossen commented 5 years ago

Hello Win32-OpenSSH Team:

Please post a blog article that summarizes the current state of OpenSSH for Windows and PowerShell Core, especially regarding remoting, key-based authentication, key management, sudo, Active Directory integration, major features that will (not) be added soon, depth of planned integration with PSCore, security or crypto library issues, Credential Guard protection of keys/passwords, multi-factor auth support, etc.

Thank You! Jason

manojampalam commented 5 years ago

While we work on getting a blog article out, here's the current status of things. We've gotten most of the feature parity with Unix, with a few exceptions (listed in https://github.com/PowerShell/Win32-OpenSSH/wiki/Project-Scope).

That said, with an intent to not make any changes to original for-Unix code, we have a quite a number of #ifdef'ed Windows based logic in common code (with Unix). This makes the fork some what fragile with each integration from upstream (https://github.com/openssh/openssh-portable) having a merge overhead and a possibility of regressions in Windows. Our focus right now is to work with upstream community and see if these platform differences could be reconciled using platform abstraction.

As for the specific features you asked, here's the status:

JasonFossen commented 5 years ago

Thank you for this detailed reply, looking forward to the article -- best wishes!

JustinGrote commented 5 years ago

Really looking forward to AuthorizedKeysCommand, with that it'd be trivial to tie it to a powershell script to fetch it from a user AD custom attribute and allow for centralized authorized keys, since Kerberos is currently not supported (though NoMoreFood's implemention I hope makes it into the codebase)

manojampalam commented 5 years ago

For sudo, you could do a nested ssh from within the remote session ssh -t adminuser@localhost