14 Commits

Author SHA1 Message Date
Dan Drown
59d91246b4
support SSH2_AGENTC_ADD_ID_CONSTRAINED for sk-provider@openssh.com (#612)
* support SSH2_AGENTC_ADD_ID_CONSTRAINED by treating it as SSH2_AGENTC_ADD_IDENTITY

This ignores the requested constraints:
- SSH_AGENT_CONSTRAIN_LIFETIME
- SSH_AGENT_CONSTRAIN_CONFIRM
- SSH_AGENT_CONSTRAIN_MAXSIGN
- SSH_AGENT_CONSTRAIN_EXTENSION

SSH2_AGENTC_ADD_ID_CONSTRAINED is needed to support add U2F/Fido2 ssh keys to the agent from WSL ssh-add and KeePassXC
ref PowerShell/Win32-OpenSSH#1961

* update buffer pointer to after comment string

sshbuf_peek_string_direct doesn't update request offset pointer

* parse agent constraint messages

returns SSH_AGENT_FAILURE on unsupported constraint types, such as:
* SSH_AGENT_CONSTRAIN_LIFETIME
* SSH_AGENT_CONSTRAIN_CONFIRM
* SSH_AGENT_CONSTRAIN_MAXSIGN

returns SSH_AGENT_FAILURE on unsupported constrain extensions, such as:
"restrict-destination-v00@openssh.com"

accepts and ignores constrain extension "sk-provider@openssh.com"

* reject non-internal skproviders & log
2023-04-05 16:28:10 -04:00
Balu Gajjala
9a85082806 V8.9 build errors, unit tests successful 2022-03-04 18:40:49 -08:00
Yan Tesis
c89890c3a4
Adding PKCS11 support to SSH agent (#537) 2022-02-17 17:31:50 -08:00
Yan Tesis
c6fa13b82e Fix listing agent keys with forwarded agent (#363)
Gracefully fail SSH1 agent requests
2019-01-04 23:44:34 -08:00
Manoj Ampalam
cc16f80123
Converge fork and upstream branches
- Removed #ifdef WINDOWS blocks in base code where the feature support can be conveyed by a failed POSIX API call
- Refactored password authentication code
- Other misc changes - Removed DebugBreak on Release Builds
2018-10-30 14:54:13 -07:00
Manoj Ampalam
fdd54b6334
Implement Unix styled privilege separation in Windows (#258)
OpenSSh privilege separation model - http://www.citi.umich.edu/u/provos/ssh/privsep.html 
Posix_spawn is implemented in POSIX adapter as an alternative to fork() that is heavily used in Privilege separation. 
Additional state info is added to sshd to accommodate distinguishing the various modes (privileged monitor, unprivileged child, authenticated child).
Required service state (like config and host keys) is transmitted over pipes from monitor to child processes.
Changes to installation scripts and tests to accomodate new architectural changes
2018-01-15 13:57:31 -08:00
Yanbing
b1a6fbca5e Issue13 (#184)
Replace with secure APIs in win32compat
2017-07-19 15:28:35 -07:00
Manoj Ampalam
f8f5e45f02 Decouple key-agent and privileged-agent use in sshd (#173)
PowerShell/Win32-OpenSSH#766
PowerShell/Win32-OpenSSH#783
2017-06-26 21:57:24 -07:00
Manoj Ampalam
dd88d8d5d4 Move to LibreSSL, Fixed issues arising from compiling Windows specific code at warling level 3 2017-06-13 10:33:47 -07:00
Manoj Ampalam
91f9c71021 Improvements to named pipe connections to ssh-agent (#163)
client now connect to ssh-agent at Identification level, preventing rogue processes hosting "ssh-agent" pipes from impersonating and elevating to client context.
Since ssh-agent now cannot do ImpersonateNamedpipeClient, retrieve the client impersonation token explicitly and rely on ImpersonateLoggedonUser instead.
2017-06-10 23:12:10 -07:00
Manoj Ampalam
4df71693c2 Fix agent to recognize calls from sshd service (#149)
https://github.com/PowerShell/Win32-OpenSSH/issues/734
2017-05-24 21:52:20 -07:00
Manoj Ampalam
1ff1b07410 Run SSHD as NetworkService (#121)
PowerShell/Win32-OpenSSH#681
2017-04-24 22:02:03 -07:00
bagajjal
70784d5606 Fixed Denyusers issue when logging in with ssh username@domain@serverip (https://github.com/PowerShell/Win32-OpenSSH/issues/511) 2017-02-02 23:54:02 -08:00
Manoj Ampalam
5ad8a2c358 Sources Merged from Win32 Fork 2016-12-19 14:46:28 -08:00