mirror of
https://github.com/PowerShell/Win32-OpenSSH.git
synced 2025-07-15 18:14:49 +02:00
Updated About Win32 OpenSSH and Design Details (markdown)
parent
91ac8dee30
commit
a4c40d290b
@ -105,13 +105,11 @@ ssh-agent will be reimplemented for Windows as a Windows service, running as Loc
|
||||
|
||||
In addition ssh-agent will also serve the following operations
|
||||
+ Authentication: ssh-agent will currently serve Basic and Key-Based authentication. It will be responsible for generating the client/user token once authentication succeeds. This includes:
|
||||
+ key authentication - ensuring validity of public key mapping, validating a signed payload as part of client key based authentication and generating a Windows user token.
|
||||
+ key authentication - ensuring validity of public key mapping, validating a signed payload as part of client key based authentication and generating a Windows user token. Token generation is done using S4U for domain accounts and a custom SSP for local accounts.
|
||||
+ Basic authentication - done using [LogonUser](https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx).
|
||||
|
||||
As detailed earlier, session isolation in Windows will be done using CreateProcess based custom logic (in place of fork based logic in Unix). Spawned child process will run as NT Service\SSHD too.
|
||||
|
||||
Authentication logic will be different between Windows and Unix. Password authentication is done using [LogonUser](https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx) while
|
||||
Key-based authentication will be implemented in a custom [SSP](https://msdn.microsoft.com/en-us/library/windows/desktop/aa380497(v=vs.85).aspx) that is executed in [lsass](https://msdn.microsoft.com/en-us/library/aa939478(v=winembedded.5).aspx) (a privileged process).
|
||||
|
||||
End result of authentication in Windows is a Windows user token (if authentication succeeds). SSH sessions that need client user capabilities are hosted in processes running under the context of client user (launched using CreateProcess(user_token)). Ex. cmd.exe for terminal session, sftp_server.exe for sftp session and scp.exe for scp session.
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user