我正在尝试克隆另一个开发人员拥有的私有存储库。我没有与这位开发人员直接沟通。他们给我发了一个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
确实有效。
答案 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.exe
。 C:\Users\<username>\.ssh\id_rsa
。
第二个选项是将PPK转换为OpenSSH密钥文件,Git附带的SSH客户端可以使用该文件。您可以通过使用PuTTYgen打开PPK并选择“Conversions / Export OpenSSH key”来实现。您应该将文件保存为{{1}}以使Git使用它。
答案 1 :(得分:4)
你需要:
HOME
(如果您从git bash session执行git操作,即使在Windows上也应该为您定义)答案 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:这是您设备的密码