Git clone private repo, permission denied
我正在尝试克隆另一个开发人员拥有的私有存储库。我没有与这个开发人员的直接通信。他们给我发送了他们的用户名-id ru rsa.pub文件和他们的用户名-priv.key.ppk文件。我知道ppk文件是专门针对putty ssh客户机的。有人能告诉我如何克隆他们的回购协议吗?我已经用自己的帐户配置了git,我想我必须将它们的ssh密钥添加到ssh/config文件或其他文件中,但我有点像ssh noob。
1 2 3 4 | git clone [email protected]:theirusername/pro.git Cloning into 'pro'... Permission denied (publickey). fatal: The remote end hung up unexpectedly |
编辑:我能够访问Github存储库并将自己添加为合作者。即使这样,我也不能
1 | git clone [email protected]:theirusername/pro.git |
然而
1 | git clone https://github.com/theirusername/pro.git |
工作了。
They sent me a theirusername-id_rsa.pub file and a theirusername-priv.key.ppk
首先,告诉他们不要这样做。之所以这样称呼公钥/私钥是有原因的。让多个实例(个人或计算机)共享同一个密钥是不对的。您应该为每个单独的键使用一个单独的键,以便在它们之间建立1对1的关联。
如果他们不能将您添加为合作者(这需要为您自己设置一个用户帐户),那么他们应该将您的密钥添加到他们自己的配置文件中。我强调的是"您的密钥",因为您应该生成它并只发送公钥。私密的人应该永远对别人保密。
也就是说,当你有一个ppk,一个putty私钥文件时,你有两个选择。首先是使用putty的pagent加载密钥文件,并让git使用putty的plink作为ssh客户机。您可以通过将
第二个选项是将PPK转换为OpenSSH密钥文件,git附带的ssh客户机可以使用该文件。您可以通过使用puttygen打开ppk并选择"conversions/export openssh key"来实现这一点。您应该将文件保存为
你需要:
- 为了确保定义了环境变量
HOME (如果从Git bash会话执行Git操作,则即使在Windows上也应该为您定义该变量) - 要将您的ppk密钥转换为id_rsa和id_rsa.pub,请参阅"如何告诉Git for Windows在哪里可以找到我的私人rsa密钥?".
- 定义配置文件或将密钥添加到ssh代理,如"指定执行shell命令时要使用的专用ssh密钥"中所述。
只需将下面的代码复制粘贴到BAT文件中并执行它
echo y_"c:程序文件(x86)puttyplink.exe"[email protected] xxxx退出
这是您设备的IP地址。
这是你设备的密码