How can I perform a `git pull` without re-entering my SSH password?

LinuxGitSshGithub

Linux Problem Overview


Is it possible to configure git/ssh so I don't have to enter my passphrase every time I want to perform a git pull? Note that the repo is a private one on github.

Or, alternatively, what would be the best practice to automate code deployment from a private Github repo?

Additional details: EC2 instance running a public AMI based on Fedora.

Linux Solutions


Solution 1 - Linux

Have a look at this link https://help.github.com/articles/working-with-ssh-key-passphrases/

> But I don’t want to enter a long passphrase every time I use the key! > > Neither do I! Thankfully, there’s a nifty little tool called > ssh-agent that can save your passphrase securely so you don’t have > to re-enter it. If you’re on OSX Leopard or later your keys can be > saved in the system’s keychain to make your life even easier. Most > linux installations will automatically start ssh-agent for you when > you log in.

Solution 2 - Linux

I enabled the password caching as described here:

https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux

To cache the password for a month:

git config --global credential.helper 'cache --timeout=2628000'

Solution 3 - Linux

Try this:

git config credential.helper store

You'll have to enter your password once, after that it is stored in a folder inside root.

As comments pointed out, This does NOT work for SSH passwords, only for HTTPS passwords.

Solution 4 - Linux

I dont know why hasnt anyone reported this yet. But the simplest approach would be to simply add a single line AddKeysToAgent yes on the top of the .ssh/config file. Ofcourse ssh-agent must be running beforehand. If its not running ( check by the command ssh-agent on the terminal ) , then simply run it eval $(ssh-agent)

I can confirm that this works, because in my project with lots of submodules and for each submodule being cloned, I had to type in my ssh passphrase. After the above trick, I dont need to do it anymore.

The source of the solution is https://askubuntu.com/questions/362280/enter-ssh-passphrase-once/853578#853578

Solution 5 - Linux

Your situation is now fixed, however for me it was the fact that I had more than one key in ~/.ssh/

To resolve the problem I had to create a file called ~/.ssh/config and add the line:

IdentityFile ~/.ssh/my_key2_rsa

where ~/.ssh/my_key2_rsa is my key.

Solution 6 - Linux

I updated my ~/.ssh/config file to read the following, and no longer have to enter my ssh password.

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjldupontView Question on Stackoverflow
Solution 1 - LinuxFredrik PihlView Answer on Stackoverflow
Solution 2 - LinuxSileriaView Answer on Stackoverflow
Solution 3 - LinuxYankeeView Answer on Stackoverflow
Solution 4 - LinuxinfocloggedView Answer on Stackoverflow
Solution 5 - Linuxuser2098467View Answer on Stackoverflow
Solution 6 - LinuxThe CamsterView Answer on Stackoverflow