2014-03-01 34 views
1

让存储库的origin远程具有ssh url。 所以下面的代码:如何使用SSH传输连接到远程

remote = Rugged::Remote.lookup(repo, "origin") 
remote.connect(:fetch) 

提高Rugged::SshError: Cannot set up SSH connection without credentials

它看起来像rugged支持SSH传输,因为有Rugged::Credentials::SshKey类,并有可能为Repository.clone_at:credentials选项。 但我没有看到任何方式在源代码中提供Remote#connect的凭据。我错过了什么吗?

如果有可能通过SSH连接,有没有什么办法从ssh-agent获取凭据? 似乎libgit2可以查询ssh-agent。

回答

2

现在,Rugged不支持凭证的任意远程操作,也不支持ssh-agent凭证类型。

https://github.com/libgit2/rugged/pull/304被认为是排序的,但由于其他事项具有较高的优先级而被忽略了一段时间,并且现在与Rugged中的最新更改略有不同。我想尽快解决这个问题,然后在这里更新我的答案。我也会偷偷支持查询ssh-agent。

+0

我检查出了那个PR,发现'connect'方法不见了。现在如何为'ls'方法提供凭据? – TheBug

相关问题