Git always asks for a passphrase for the key

  • I had a problem about git some days.
  • When i command git pull origin my_branch or git fetch or git push origin my_branch, git always ask passphase for key. And i didn't understand why ?
  • Hope everybody can explain for me why ?

Here are notice of git:

~/Project/project_name$ git fetch
Enter passphrase for key '/home/khanhpn/.ssh/id_rsa':

Solutions: Everybody can refer to the answer of Mr.Will Vousden. The answer of Mr.Will Vousden was very well and i can understand about ssh clearly. Thank you very much.

Like Nasreddine says, it's because your key is encrypted with a passphrase to prevent others from reading it.

The most convenient way of using passphrased keys is by using ssh-agent to start an authentication agent (which runs in the background):

$ eval "$(ssh-agent)"
Agent pid 44304

...and then using ssh-add to register your key with the agent so that it's used automatically for subsequent SSH connections:

$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/khanhpn/.ssh/id_rsa:

You'll be asked to enter your passphrase when you run ssh-add, but you won't need to do so again while ssh-agent is running.

You can find more information on GitHub. Also note that you'll have to do this every time you log in, so you might like to add the eval "$(ssh-agent)" step to your .profile script.