通过木偶运行ssh-agent

时间:2014-11-07 09:51:47

标签: git ssh cron puppet

我正在使用Puppet,我想通过cronjobs与特定用户一起使用Git repos。我有一个私钥位于我的〜/ .ssh目录中,我用这个exec添加到我的ssh-agent中:

  exec {
  'add-ssh-key':
    cwd => '/home/user/.ssh',
    command => "bash -c 'eval $(ssh-agent) ssh-add rsa_key'",
    path => '/usr/bin:/usr/sbin:/bin:/sbin',
    provider => 'shell'
  }

根据规定启动代理并将身份添加到代理。但是我不能拉回购(cronjob也不能),因为我可能没有连接到正确的ssh-agent(当拉它要求输入密码时)。

还有另一种方法可以实现这一目标吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以在用户的​​~/.ssh/config文件中添加一个部分,以指示其在连接到git服务器时使用该密钥。

Host my-git-server
    Hostname git.example.net
    User gituser
    IdentityFile /home/user/.ssh/rsa_key

让Puppet确保私钥具有适当限制的权限。

无需涉及ssh-agent