Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Remember passphrases with ssh-agent — First published in fullweb.io issue #31

How to use ssh-agent to cache your SSH credentials?

Contributed by Fabien Loudet, Linux SysAdmin at Rosetta Stone

Tired of always having to enter your SSH key passphrase when logging in to remote machines? Here comes ssh-agent. Enter the passphrase once and it will keep it in memory for you

Using ssh-agent in your shell session:

$ ssh-agent 
SSH_AUTH_SOCK=/tmp/ssh-hZQhwQlxahPX/agent.1833; export SSH_AUTH_SOCK; 
SSH_AGENT_PID=1834; export SSH_AGENT_PID; 
echo Agent pid 496; 

Copy/paste the 2 first lines from above:

$ SSH_AUTH_SOCK=/tmp/ssh-hZQhwQlxahPX/agent.1833; export SSH_AUTH_SOCK; 
$ SSH_AGENT_PID=1834; export SSH_AGENT_PID; 

Register your key and enter your password for the last time of this session:

$ ssh-add .ssh/id_rsa 
Enter passphrase for .ssh/id_rsa: 
Identity added: .ssh/id_rsa (.ssh/id_rsa)

And now SSH auth will not ask you for the passphrase anymore

BONUS: list your keys with:

$ ssh-add -l
@floudet
Copy link

floudet commented Jan 18, 2016

You can also directly open a new shell session spawned by ssh-agent :

$ ssh-agent bash

The SSH_AUTH_SOCK and SSH_AGENT_PID variables will already be set in the new shell session. It will spare you exporting them manually (step one and two above).

Copy link

ghost commented Aug 9, 2018

Save yourself the copy and paste job with eval.

eval $(ssh-agent)

https://unix.stackexchange.com/questions/351725/why-eval-the-output-of-ssh-agent

@xkadmx
Copy link

xkadmx commented Dec 16, 2018

Hi,

I got my id_rsa identity added, still my verification problem repeats when I try to initialise push on GitHub. I use inteliJ>VCS>Import into Version Control>Share Project on GitHub. This is the error I receive:

Successfully created project 'ProjektZ_keprim' on GitHub, but initial push failed: Warning: Permanently added the RSA host key for IP address '140.82.118.4' to the list of known hosts. git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

And more, after following steps advised above my Git Bash throws:
ZuzannaRo@ZuzannaRo24 MINGW64 /
$ ssh-add -l
2048 SHA256:pbPkCPH/XRp5RPhI3dERAWR/OJN3HAHUMXilUByp1U4 /c/Users/ZuzannaRo/.ssh/id_rsa (RSA)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment