feat: split out the auth mechanism for a user's account
To help faciliatate #24 (closed) the autentication process was split out into its own function (and moved to lib).
This simplifies the update module and should make it easier for the addition of modififying SSH keys.
Closes #25 (closed)