Git克隆私人回购,权限被拒绝

时间:2012-12-25 06:22:29

标签: git ssh repository clone private

我正在尝试克隆另一个开发人员拥有的私有存储库。我没有与这位开发人员直接沟通。他们给我发了一个hisusername-id_rsa.pub文件和一个他们的用户名-priv.key.ppk文件。我理解ppk文件特定于Putty ssh客户端。有人能为我提供如何克隆他们的回购的步骤吗?我已经使用自己的帐户配置了git,我想我必须将他们的ssh密钥添加到我的ssh / config文件或其他东西,但我有点像ssh noob。

git clone git@github.com:theirusername/pro.git
Cloning into 'pro'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

编辑:我能够访问github存储库并将自己添加为协作者。即使这样做我也不能

git clone git@github.com:theirusername/pro.git

然而

git clone https://github.com/theirusername/pro.git

确实有效。

3 个答案:

答案 0 :(得分:12)

  

他们发给我一个他们的用户名-id_rsa.pub文件和他们的用户名-priv.key.ppk

首先,告诉他们从不这样做。出于某种原因,公共/私钥被称为那样。有多个实例(人或计算机)共享相同的密钥是不对的。您应该为每个单独的密钥使用单独的密钥,以便它们之间具有1对1的关联。

如果他们无法将您添加为协作者(这需要您自己的用户帐户),那么他们应该只将您的键添加到他们自己的个人资料中。我正在强调“你的密钥”,因为应该生成它并仅向他们发送公钥。私人应该对其他人保密。

话虽这么说,当你有一个PPK,一个PuTTY私钥文件时,你有两个选择。首先是使用PuTTY的 pageant 来加载密钥文件,并让Git使用PuTTY的 plink 作为SSH客户端。您可以将GIT_SSH环境变量设置为plink.exe的路径,例如C:\Program Files\PuTTY\plink.exeC:\Users\<username>\.ssh\id_rsa

第二个选项是将PPK转换为OpenSSH密钥文件,Git附带的SSH客户端可以使用该文件。您可以通过使用PuTTYgen打开PPK并选择“Conversions / Export OpenSSH key”来实现。您应该将文件保存为{{1}}以使Git使用它。

答案 1 :(得分:4)

你需要:

答案 2 :(得分:0)

只需将代码复制并粘贴到bat文件中并执行即可

echo y |“C:\ Program Files(x86)\ PuTTY \ plink.exe”root@XXX.XXX.XXX.XXX -pw XXXX exit

XXX.XXX.XXX.XXX:这是您设备的IP地址。

XXX:这是您设备的密码