我已经尝试了我能想到的一切,但我仍然不断收到这个错误:
我的步骤:
1) 生成 ~/.ssh 的本地密钥
2) 将该密钥复制到我的个人资料的 BitBucket SSH 密钥。
3) 将该密钥添加到我的服务器 ~/.ssh
还有什么我应该做的吗?我只是在做一个 git clone repo(SSH)
首先,SSH 对您的文件和目录权限非常挑剔。仔细检查您的.ssh
目录是chmod 700
,您的密钥在一个名为id_rsa
which is的文件中chmod 600
,并且这两个文件都归您所有。
其次,是否有 ssh-agent 正在运行?ssh-agent
是一种可以缓存您的凭据的服务,因此您不必在每次获取和推送时都输入密码,如果您需要超时等等。ssh
(因此git
)如果它正在运行,它将向您的代理询问您的密钥。
要向代理添加密钥,请使用ssh-add
. 如果您的密钥不在名为 的文件中id_rsa
,您也可以通过显式路径添加它:ssh-add ~/.ssh/my_other_rsa
。添加密钥后,您应该能够在ssh-add -l
.
如果您没有运行代理(您会看到“ ”),那么启动一个(然后添加您的密钥)Could not open a connection to your authentication agent.
可能会有所帮助。ssh-agent bash
如果可行,您可以使用一些 shell 技巧为服务器上的每个会话自动启动一个。