我用尽了一切我能想到的,我仍然不断收到此错误:Git Clone To Server Responds权限被拒绝(publickey)。致命:远程端挂机意外
我的步骤:
1)生成本地密钥对的〜/ .ssh
2)将该密钥复制到我的配置文件的BitBucket SSH密钥。
3)增加该密钥到我的服务器在的〜/ .ssh
是否有别的东西,我该怎么办?我只是做一个混帐克隆回购(SSH)
我用尽了一切我能想到的,我仍然不断收到此错误:Git Clone To Server Responds权限被拒绝(publickey)。致命:远程端挂机意外
我的步骤:
1)生成本地密钥对的〜/ .ssh
2)将该密钥复制到我的配置文件的BitBucket SSH密钥。
3)增加该密钥到我的服务器在的〜/ .ssh
是否有别的东西,我该怎么办?我只是做一个混帐克隆回购(SSH)
首先,SSH是相当挑剔你的文件和目录权限。请仔细检查您的.ssh
目录是否为chmod 700
,您的密钥位于名为id_rsa
的文件中,该文件为chmod 600
,并且这两个文件均归您所有。
其次,是否有一个ssh代理程序运行? 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
(然后添加您的密钥)。如果有效,您可以使用some shell tricks为服务器上的每个会话自动启动一个。
哦,我想通了。谢谢你们,事实证明我将错误的密钥复制到我的服务器上的.ssh目录中。 –
究竟是什么错误?也许你的SSH私钥(chmod 400)的权限? –
权限被拒绝(publickey)是它给我的唯一错误 –
我是否需要生成私钥?我是Git部署的绝对新手。不需要你给我一个啧啧,但也许让我朝着正确的方向前进。我生成的公钥,这就是它 –