On 7/15/22 1:15 AM, J. Roeleveld wrote:
Yes.

Okay.

That simply means that SSH keys won't be used to authenticate to the remote system.

How would it not prompt for a password.

There is a PAM module; pam_ssh_agent_auth, which can be used to enable users to authenticate to sudo using SSH keys. This means that the user /does/ authenticate to sudo as necessary. It's just that the authentication happens behind the scenes and they don't need to enter their password. Thus you can avoid the NOPASSWD: option which means a better security posture.

I need something that will take the password from the vault (I can do this in Python and shell-scripting. Probably also in other scripts). Authenticating to the vault can be done on a session basis and shared. So locally, I'd only login once.

Sure.

Currently, yes. I never physically see the password as it currently goes into the clipboard and gets wiped from there after a short time period. Enough time to paste it into the password-prompt. It's the copy/pasting that I am looking to automate into a single "login-to-remote-host" script.

I would not consider the copy and paste method to be secure. There are plenty of utilities to monitor the clipboard et al. and copy the new contents in extremely short order. As such, users could arrange to acquire copies of the password passing through the clipboard.

I would strongly suggest exploring options that don't use the clipboard and instead retrieve the password from the vault and inject it into the remote system without using the clipboard.

Or, authenticate to sudo a different way that doesn't involve a password. This will work for 90+ percent of the use cases. Meaning that the sensitive password is needed for 10 percent or less of the time. Thereby reducing the possible sensitive password exposure. }:-)

I prefer not to use SSH keys for this as they tend to exist for years in my experience. And one unnoticed leak can open up a lot of systems.

That is a valid concern.

I'd strongly suggest that you research SSH /certificates/. SSH /certificates/ support a finite life time /and/ can specify what command(s) / action(s) they can be used for.

My $EMPLOYER uses SSH /certificates/ that last about 8 hours. I've heard of others that use SSH /certificates/ that last for a single digit number of minutes or even seconds. The idea being that the SSH /certificate/ only lasts just long enough for it to be used for it's intended purpose and no longer.

The ability to specify the command; e.g. "su -" that is allowed to be executed means that people can't use them to start any other command. }:-)

This is why I use passwords. (passwords are long random strings that are changed regularly)

Fair enough. I only counter with take a few minutes to research SSH /certificates/ and see if they are of any interest to you.



--
Grant. . . .
unix || die

Reply via email to