无需在Ubuntu中输入git pull的密码

时间:2016-10-03 22:20:37

标签: git ubuntu

我每次运行git pull时都会尝试通过密码提示。

我在Ubuntu上运行。这是我的Git配置:

git config --list
user.name=Benlong Heng
user.email=benlongheng@outlook.com
credential.helper=cache --timeout=3600
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@bitbucket.org:benlongheng/benlong-web-app.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
credential.helper=store

我一直关注this answer,出于某种原因,我在运行git pull之后仍然会收到提示:

$ git pull
Enter passphrase for key '/root/.ssh/id_rsa':

我错过了什么吗?任何提示?

1 个答案:

答案 0 :(得分:3)

您链接的答案是针对HTTPS遥控器,但是您的配置中的这一行:

remote.origin.url=git@bitbucket.org:username/repo.git

表示您通过SSH连接。提示您输入密码这一事实意味着您的SSH密码已受密码保护。要缓存当前会话的密码,请执行以下操作:

eval $(ssh-agent)
ssh-add

系统会提示您输入一次密码,然后会缓存该密码。

如果您不想提示输入密码 ,那么您需要生成一个没有密码短语的新密钥。我建议不要这样做,因为任何获得该密钥文件的人都可以冒充你使用密钥的任何地方。

另外,我注意到了这一点:

Enter passphrase for key '/root/.ssh/id_rsa':

root运行通常是一个坏主意,因此我建议您尽早切换到其他用户帐户。 (如果您因任何原因不想使用自己的帐户,可以创建一个单用途帐户来代替使用。)