Crontab对其所有者的文件有权限问题? 没有权限

我有一个非常简单的shell脚本的cron作业,从另一个服务器scp文件到本地。 例如,

#!/bin/bash scp $REMOTE:/$FILE ./ 

当然,服务器需要一个私钥来login,我有configuration文件保存HostName,身份文件(〜/ .ssh / id_rsa,一个国防部600)。

但是,当cron正在运行时,它有“权限被拒绝”的问题。

 X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/home/xxx> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=xxxx> Message-Id: <20120118235702.33A7B16C03B5@xxx-xxxx-deskbox> Date: Wed, 18 Jan 2012 18:57:02 -0500 (EST) Permission denied (publickey). 

我到处检查,它说crontab将作为所有者/用户的环境运行。

任何人都有这个解决scheme? 谢谢!

问题解决了。 我的id_rsa键上有一个密码。 因此,手动运行不需要它作为短语在会话中; 而crontab需要密码。 删除密码

 ssh-keygen -p [-P old_passphrase] 

并为新的密码input空白; 或者检查这个页面

希望我的回答可以帮助一些程序员几个小时的debugging。