使用ruby-git克隆私人仓库

时间:2015-06-19 08:41:00

标签: ruby git github

我正在使用ruby-git以编程方式执行GitHub上托管的一些操作git repos。

当我在公共存储库中执行此操作时,一切正常但是,即使我在代码运行时在机器上创建了一个ssh密钥并在GitHub上添加了公共密钥,我也无法克隆私有存储库。为了确保密钥设置正确,我已直接从终端克隆了repo,并成功克隆了repo。该密钥也已添加到ssh-agent中,并设置了$SSH_AUTH_SOCK。 所以,我认为这个问题与我如何使用ruby-git gem有关。

这是我的(简单)代码

@repo = Git.clone("git@github.com:#{repo_full_name}.git", path)

在这里,如果它可能有用的错误

 Git::GitExecuteError: git clone '--' 'git@github.com:USER/REPO.git' '/var/www/repo-root/USER/REPO' 2>&1:Cloning into '/var/www/repo-root/USER/REPO'... Permission denied (publickey). fatal: Could not read

我在这里遗漏了什么吗?

由于

1 个答案:

答案 0 :(得分:0)

你的Git env配置是否指向你的ssh密钥路径?

Git.configure do |config|
    # If you want to use a custom git binary
    config.binary_path = '/git/bin/path'

    # If you need to use a custom SSH script
    config.git_ssh = '/path/to/ssh/script'
end