为什么 git identity 在 bitbucket repo 中不断丢失?

Why git identity is keep losing with bitbucket repo?

每当我需要在 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。下次我需要再次重复这个过程。为什么身份不断丢失?如何一次性添加身份?

一个好的开始是了解您正在执行的步骤以及 ssh-agent 的工作原理或如何做得更好。

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

但你可能会用到

$ 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

也可以。