Git克隆私人仓库,权限被拒绝
Posted
技术标签:
【中文标题】Git克隆私人仓库,权限被拒绝【英文标题】:Git clone private repo, permission denied 【发布时间】:2012-12-11 06:46:57 【问题描述】:我正在尝试克隆另一个开发人员拥有的私有存储库。我没有与该开发人员直接沟通。他们向我发送了 theirusername-id_rsa.pub 文件和 theirusername-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
编辑:我能够访问 github 存储库并将自己添加为协作者。即使这样做了我也不能
git clone git@github.com:theirusername/pro.git
然而
git clone https://github.com/theirusername/pro.git
确实有效。
【问题讨论】:
试试这个***.com/questions/4565700/… 也许你应该尝试 ssh:// 方案 - 如果你有适当的密钥尝试: git clone ssh://username@host.xz/absolute/path/to/repo.git/ 他们为什么不直接将您添加为合作者? @Blender,客户给了我文件。我没有与 github repo 的开发者/所有者直接沟通。 而不是使用该 git repo 的 http:// 版本克隆 git@github.com 版本。 【参考方案1】:只需将下面的代码复制并粘贴到一个bat文件中并执行它
echo y|"C:\Program Files (x86)\PuTTY\plink.exe" root@XXX.XXX.XXX.XXX -pw XXXX 退出
XXX.XXX.XXX.XXX :这是您设备的 IP 地址。
XXX:这是您设备的密码
【讨论】:
【参考方案2】:他们向我发送了 theirusername-id_rsa.pub 文件和 theirusername-priv.key.ppk
首先,告诉他们永远不要这样做。出于某种原因,这样调用公钥/私钥。让多个实例(人或计算机)共享同一个密钥是不合时宜的。您应该为每个单独的密钥使用一个单独的密钥,以便在它们之间建立一对一的关联。
如果他们无法将您添加为协作者(这需要您自己的用户帐户),那么他们只需将 您的 密钥添加到他们自己的个人资料中即可。我强调的是“你的密钥”,因为你应该生成它并只向他们发送公钥。私人的应该永远对其他人保密。
话虽如此,当您拥有 PPK、PuTTY 私钥文件时,您有两种选择。首先是使用 PuTTY 的 pageant 加载密钥文件并让 Git 使用 PuTTY 的 plink 作为 SSH 客户端。您可以通过将GIT_SSH
环境变量设置为plink.exe
的路径来做到这一点,例如C:\Program Files\PuTTY\plink.exe
.
第二种选择是将 PPK 转换为 Git 附带的 SSH 客户端可以使用的 OpenSSH 密钥文件。您可以通过使用 PuTTYgen 打开 PPK 并选择“转换/导出 OpenSSH 密钥”来做到这一点。您应该将文件保存为 C:\Users\<username>\.ssh\id_rsa
以供 Git 使用。
【讨论】:
“永远不要这样做”:我同意。我在回答第二部分(你做的更准确),但你的提醒很有用。 +1 非常重要!!!您应该将文件保存为 C:\Users\你需要:
确保您已定义环境变量HOME
(如果您从 git bash session 执行 git 操作,即使在 Windows 上也应为您定义)
要将您的 ppk 密钥转换为 id_rsa 和 id_rsa.pub:请参阅“How to I tell Git for Windows where to find my private RSA key?”。
定义您的配置文件或将您的密钥添加到 ssh 代理,如“Specify private SSH-key to use when executing shell command”中所述。
【讨论】:
并且要非常确定您的客户有合法的许可来传递他或她的钥匙,如果他们不是所有者,让您进入。对我来说似乎很麻烦。以上是关于Git克隆私人仓库,权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
致命:无法创建工作树目录“scrumwala.git。”:权限被拒绝