Crontab tem problemas de permissão no arquivo de seu dono? Permissão negada

1

Eu tenho um cron job muito simples escrito em shell script, que scp um arquivo de outro servidor para local. por exemplo,

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

É claro que o servidor precisa de uma chave privada para fazer o login, que eu tenho arquivo de configuração salvando HostName, IdentityFile em (~ / .ssh / id_rsa, um mod com 600).

No entanto, há um problema de "permissão negada" quando o cron está executando ...

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).

Eu verifiquei em todos os lugares, ele diz que o crontab será executado como o ambiente do proprietário / usuário.

Alguém tem uma solução para isso? Obrigado!

    
por Guoqiang Huang 19.01.2012 / 01:06

1 resposta

2

Problema resolvido. Havia uma frase secreta na minha chave id_rsa. Por isso, a execução manual não exige que a frase esteja na sessão; enquanto o crontab precisa da senha. Excluir a frase secreta

ssh-keygen -p [-P old_passphrase] 

e insira vazio para nova frase-senha; ou marque esta página

Espero que minha resposta possa ajudar alguns programadores várias horas de depuração ..

    
por 04.03.2012 / 04:06

Tags