YCGuestAgent is a binary executable, running as a service, allowing to reset the user's password on demand.
Password reset processed by the following flow:
-
A pair of RSA keys are generated on a user-side (by browser or PowerShell module)
-
YCGuestAgent does the following steps on Virtual Machine:
- receives and verifies user's request;
- generates new password;
- creates a new user with admin permissions if given user does not exist;
- sets a password to the given Virtual Machine user;
- encrypts the password by given encryption key;
- transmits the encrypted password to COM4 port
-
Encrypted password if fetched by Console or PowerShell module
-
Password is decrypted by private key on a user-side and displayed in Console or PowerShell
YCGuestAgentUpdater is a binary executable, running as a service, performing updating YCGuestAgent.
This agent regularly checks if a new version of YCGuestAgent is available.
Then, it downloads a new version and tries to install it and run it.
If the new version cannot start, the update agent fallbacks YCGuestAgent to the previous working version.