让存储库的origin
远程有一个 ssh url。所以下面的代码:
remote = Rugged::Remote.lookup(repo, "origin")
remote.connect(:fetch)
提高Rugged::SshError: Cannot set up SSH connection without credentials
。
看起来rugged
支持 SSH 传输,因为有Rugged::Credentials::SshKey
类并且可以:credentials
为Repository.clone_at
. 但是我看不到任何方法可以Remote#connect
在源代码中提供凭据。我错过了什么吗?
如果可以通过 ssh 连接,有没有办法从 ssh-agent 获取凭据?似乎libgit2
可以查询 ssh-agent。