Can I test authentication with an RSA key locally?

29,251

Solution 1

You can run ssh-add to add your key to your current ssh-agent. This will prompt for your passphrase.

Normally, when ssh-agent is running, and you add a key to it, you won't have to unlock your key any more when you connect to hosts that recognise that key. If that isn't what you want, just run ssh-add -d to remove it off your ssh-agent when you're done testing.

Solution 2

Or as pointed here: How can I test my ssh-keys locally without a server

You can do this:

ssh-keygen -y

And this doesn't require any server (works great with msysgit on Windows).

Share:
29,251
pjmorse
Author by

pjmorse

Longtime web geek currently at MathWorks, former job creator at Common Media, Inc., former graduate student at Tufts, sometime track writer, father of twins.

Updated on March 17, 2020

Comments

  • pjmorse
    pjmorse over 4 years

    Is there a way to check locally if you're providing the correct passphrase to an RSA key?

    I recently had trouble pushing some commits to github because the push prompted for a password and then failed authentication. I verified that github had the correct public key for the id_rsa file in my ~/.ssh directory, and I verified that I could authenticate with Github (if you ssh [email protected] it will tell you you authenticated but that they don't offer shell access,) so I knew the problem was on my end, not Github's.

    (I should point out that at this point I simply used git format-patch to get my commits as files, then blew away my working repository and re-cloned from Github, reapplied the patches using git am, and pushed without any trouble, so whatever the original problem was, it's fixed.)

    This left me wondering, though: how would I know if an authentication problem with a remote host was me providing the wrong passphrase to my private key, or the remote host not recognizing my key? Is there a way to do a test authentication with the private key, locally, without trying to connect to a remote host?