我在Windows上使用源码树中的putty创建了一个ssh密钥对,然后将其添加到我的repo客户端(我在个人服务器上使用Gitlab)。
这可以从gitbash(克隆和推送等)和通过SourceTree for OSX工作得很好但是在将.ppk键添加到正在运行并且似乎正确加载了密钥的分页面之后,我似乎无法通过SourceTree进行克隆。在添加具有详细说明的repo路径时,我得到“这不是有效的源路径/ URL”。
致命:无法从远程存储库中读取。请确认你 拥有正确的访问权限和存储库。
如果我通过git bash添加一个我使用相同的ssh密钥对克隆的现有repo(只需将文件夹拖放到Windows的Source Tree中),这似乎可以解决问题 - 我可以提交并查看历史记录等等。当我尝试推送时,它失败了很多相同的消息(我已经改变了回购路径):
git -c diff.mnemonicprefix = false -c core.quotepath = false push -v --tags origin master:master推送到git@MyServer.com:MyRepo.git
致命:无法从远程存储库中读取。请确认你 拥有正确的访问权限并且存储库存在。
已完成但有错误,请参见上文。
据我所知,Pageant已在我的机器上使用正确的(仅限)ssh键启动并运行。
非常欢迎任何帮助。
答案 0 :(得分:1)
好的,这有点令人尴尬/困惑。
似乎我没有将正确的公钥复制到我的repo管理Web界面上。问题是,我使用以下命令从git bash复制了公钥:
剪辑<把〜/ .ssh / id_rsa.pub
但是这似乎给了我一个不同的公钥,而不是我在文本编辑器中打开id_rsa.pub ......
这是正常的吗?它为什么不同?为什么它在gitbash中工作而不在SourceTree中(通过选美)。
无论如何,在记事本中打开时直接从文件中复制我的公钥内容,可以使用SourceTree和Pageant等工作。