我已经尝试了我能想到的一切,但我仍然遇到这个错误:
我的步骤:
1)生成〜/ .ssh
的本地密钥2)将该密钥复制到我的个人资料的BitBucket SSH密钥。
3)在〜/ .ssh
中将该密钥添加到我的服务器还有别的我应该做的吗?我只是在做一个git clone repo(SSH)
答案 0 :(得分:2)
首先,SSH对您的文件和目录权限非常挑剔。仔细检查您的.ssh
目录是否为chmod 700
,您的密钥位于名为id_rsa
的{{1}}文件中,并且这两个文件都归您所有。
其次,是否有运行ssh-agent? chmod 600
是一种可以缓存凭据的服务,因此您无需在每次提取和推送时键入密码,如果需要,可以使用超时等等。 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.
(然后添加密钥)启动代理可能会有所帮助。如果可行,您可以使用some shell tricks为服务器上的每个会话自动启动一个。