git push via cron

时间:2011-11-03 12:14:59

标签: git ssh cron

我正在尝试从cron运行git push。当我在shell上以交互方式执行命令时,它会很好。从我的用户的crontab运行命令时,cron会传递错误消息

Permission denied (publickey).

我认为它与查找或阅读我的〜/ .ssh / id_rsa没有关系,因为我可以从cron中取出文件。在cron作业中,UID和EUID设置正常。 - 有什么想法吗?

更新

在向我的cron作业提供环境密钥SSH_AUTH_SOCK时我得到了它的工作,但是我担心这只有在我登录时才有效。我正在寻找一种独立于交互式登录的解决方案

1 个答案:

答案 0 :(得分:7)

作为explained here,可能是由于ssh代理的cron会话shell缺乏知识。
如果是这种情况(例如,如果您使用带密码的私有ssh密钥), keychain 是通常的解决方案(mentioned here)。
此示例中的更多详细信息:“Passwordless connections via OpenSSH using public key authentication, keychain and AgentForward”。