为什么git身份会随着bitbucket repo一直在流失?

时间:2016-05-04 17:32:56

标签: git ssh bitbucket

每当我需要在Win10开发笔记本电脑上的bitbucket.org上进行git pullgit push回购时,几乎每次我需要添加身份才能做到这一点。这是ssh -T

$ ssh -T git@bitbucket.org
Permission denied (publickey). 

然后在eval "$(ssh-agent)ssh-add ~/.ssh/id_rsa之后,我可以git pullgit push。下次我需要再次重复这个过程。为什么身份会不断失去?我怎样才能为所有人添加身份?

1 个答案:

答案 0 :(得分:1)

一个良好的开端是了解您正在采取的步骤以及ssh-agent如何运作或如何做得更好。

SSH-Agent是一个将您的私钥存储在内存中的程序,可以避免为每个连接键入密码。您的shell使用环境变量记住与此程序的连接。因此,如果您打开新的shell运行ssh-agent并关闭shell,则会丢失此连接(Windows无论如何都无法集成)。此外,重新启动计算机(显然)会停止正在运行的代理程序。

但你可以使用

$ ssh -T -i /path/to/id_rsa git@bitbucket.org

也会这样做(如果有的话,你必须插入密码)。或者更清楚地使用ssh_config中的~/.ssh/config,其中可以包含:

Host bitbucket.org
  User git
  IdentityFile /path/to/id_rsa

然后使用

连接
$ ssh -T git@bitbucket.org

也会奏效。