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

use*_*182 6 git ssh clone private repository

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

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

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

git clone git@github.com:theirusername/pro.git
Run Code Online (Sandbox Code Playgroud)

然而

git clone https://github.com/theirusername/pro.git
Run Code Online (Sandbox Code Playgroud)

做得好.

pok*_*oke 14

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

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

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

话虽这么说,当你有一个PPK,一个PuTTY私钥文件,你有两个选择.首先是使用PuTTY的选美加载密钥文件,让Git使用PuTTY的plink作为SSH客户端.您可以通过将GIT_SSH环境变量设置为路径来实现plink.exe,例如C:\Program Files\PuTTY\plink.exe.

第二种选择是将PPK转换为OpenSSH密钥文件,Git附带的SSH客户端可以使用该文件.您可以通过使用PuTTYgen打开PPK并选择"Conversions/Export OpenSSH key"来实现.你应该保存文件,C:\Users\<username>\.ssh\id_rsa以使Git使用它.

  • “永远不要这样做”:我同意。我正在回答第二部分(您会做得更精确),但是您的提醒很有用。+1 (2认同)