OS X запускает rsync под sudo, используя ssh_config - PullRequest
2 голосов
/ 23 ноября 2008

Я хочу настроить автоматическое задание rsync для резервного копирования нескольких учетных записей пользователей на моем компьютере с OS X на файловый сервер linux. Я установил ssh без пароля из своей учетной записи на другой компьютер, и он отлично работает, поэтому я попытался использовать эту команду:

sudo rsync -avz /Users/jbloggs myserv:/var/Backup/

где myserv - псевдоним, установленный в моем ~/.ssh/config. У меня проблема в том, что я должен использовать sudo, чтобы заставить эту команду работать - под своей личной учетной записью у меня нет доступа к домашним каталогам других пользователей, чтобы копировать файлы для резервного копирования. Эта команда отлично работает на моей учетной записи без sudo, но когда я запускаю под sudo, она больше не смотрит на мой ~/.ssh/config (поэтому она жалуется на «неизвестный хост myserv»).

Как я могу заставить rsync работать под sudo, чтобы по-прежнему смотреть на мой личный ~/.ssh/config?

Спасибо!

1 Ответ

4 голосов
/ 23 ноября 2008

Вы можете использовать

ssh -i /Users/myuser/.ssh/id_rsa -F /Users/myuser/.ssh/config login@host

, чтобы позволить ssh использовать ваши файлы конфигурации / ключей. Используйте «-v», чтобы проверить, какой файл он использует. Вы также можете скопировать свою конфигурацию / id в /var/root/.ssh, который будет использоваться по умолчанию при использовании ssh через sudo.

Чтобы передать эти параметры rsync, вы должны установить "--rsh" / "-e" следующим образом:

rsync -e "ssh -i ... -F ..."
...