我每次运行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':
我错过了什么吗?任何提示?
答案 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
运行通常是一个坏主意,因此我建议您尽早切换到其他用户帐户。 (如果您因任何原因不想使用自己的帐户,可以创建一个单用途帐户来代替使用。)