How can I perform a `git pull` without re-entering

2019-03-08 01:24发布

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.

5条回答
冷血范
2楼-- · 2019-03-08 01:35

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.

查看更多
我想做一个坏孩纸
3楼-- · 2019-03-08 01:44

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'
查看更多
SAY GOODBYE
4楼-- · 2019-03-08 01:49

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

查看更多
家丑人穷心不美
5楼-- · 2019-03-08 01:52

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.

查看更多
做自己的国王
6楼-- · 2019-03-08 01:52

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.

查看更多
登录 后发表回答