1

У меня есть файл .sh, который я могу вручную запустить для резервного копирования на удаленный сервер в локальной сети. Это выглядит так:

rsync -avzP -e ssh -i /mnt/local/ root@192.168.9.114:/DataVolume/shares/NASBackup

Для этого требуется авторизация, поэтому я создал открытый ключ, который хранил в /mnt/local/.backup/authorized_keys.pub

Затем я создал новый скрипт .sh, который содержит следующие

rsync -avzP 'ssh -i /mnt/local/.backup/authorized_keys -o StrictHostKeyChecking=no' /mnt/local 192.168.9.114:/DataVolume/shares/NASBackup

Выдает ошибку «Отказано в разрешении». Конкретно следующее:

rsync: change_dir "/mnt/local/.backup//ssh -i /mnt/local/.backup" failed: No such file or directory (2)

sent 12 bytes  received 12 bytes  48.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1053) [sender=3.0.9]
./backup-start-new.sh: /mnt/local: Permission denied

Причина нахождения ключа .pub на локальном компьютере, с которого я пытаюсь запустить rsync, заключается в том, что моя папка авторизованных ключей не перезаписывается, поэтому я разместил свои ключи в другом месте. На удаленном сервере ключ .pub помещается в ~/.ssh/authorized_keys

Основная проблема в ошибке - отказ в разрешении для папки /mnt /local, которую я не могу выяснить. Исходный сервер является сервером FreeNAS.

1 ответ1

1

Установлены ли разрешения ~/.ssh/authorized_keys на 0600 и ~/.ssh на 0700?

SSH очень требователен к разрешениям на файлы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .