У меня проблемы с передачей файлов с помощью rsync через ssh. Если я просто бегу
rsync -avz devel@10.10.10.83:/home/devel/ $/home/user/rsync/servidor
он работает, как и ожидалось, так как открытый ключ хранится на удаленном компьютере, но если я запускаю эту же строку в crontab,
* * * * * rsync -avz devel@10.10.10.83:/home/devel/ $HOME/rsync/servidor
синхронизация не удалась.
После просмотра Интернета я обнаружил, что crontab не может видеть закрытый ключ, так как он работает с некоторыми ограничениями, поэтому я изменил crontab следующим образом
* * * * * cd /home/user/rsync;/bin/sh transfer.sh >> /home/user/rsync/log/cron.log 2>&1
где находится Transfer.sh
#!/bin/sh
#BASH_ENV=/home/user/.bashrc
echo ""
echo "Cronjob started for back-up files" `date`
set -xv
/usr/bin/rsync -avz -e "/usr/bin/ssh -i $/home/user/.ssh/id_rsa" devel@10.10.10.83:/home/devel/ /home/user/rsync/servidor
Идея состоит в том, что теперь rsync явно использует закрытый ключ ssh для подключения к удаленной машине, но у меня все еще есть проблемы с этим подходом. Журнал:
Cronjob started for back-up files Qua Fev 4 13:39:02 BRST 2015
#/usr/bin/rsync -vv devel@10.10.10.83:/home/devel /home/user/rsync/servidor
#rsync -avz -e “ssh -i /home/user/.ssh/id_rsa” devel@10.10.10.83:/home/devel /home/user/rsync/servidor
/usr/bin/rsync -avz -e "/usr/bin/ssh -i $HOME/.ssh/id_rsa" devel@10.10.10.83:/home/devel/ $HOME/rsync/servidor
+ /usr/bin/rsync -avz -e /usr/bin/ssh -i /home/user/.ssh/id_rsa devel@10.10.10.83:/home/devel/ /home/user/rsync/servidor
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.0]
Тем не менее, линия
/usr/bin/rsync -avz -e "/usr/bin/ssh -i $/home/user/.ssh/id_rsa" devel@10.10.10.83:/home/devel/ /home/user/rsync/servidor
работает нормально из терминала.
ОС: Linux Mint Quaina
Любая помощь будет оценена
РЕДАКТИРОВАТЬ: я использовал пароль при создании ключа SSH. Разрешения:
ls -l /home/user/.ssh/id_rsa
-rw------- 1 user user 1766 Dez 16 15:40 /home/user/.ssh/id_rsa