2008-11-23 3 views
2

Я хочу настроить автоматическое задание rsync для резервного копирования группы учетных записей пользователей на моей машине OS X на сервер файлов Linux. Я настроил пароль бесплатно SSH со своего счета на другую машину, и он прекрасно работает, поэтому я попытался использовать эту команду:OS X run rsync под sudo using ssh_config

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

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

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

Спасибо!

ответ

4

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

ssh -i /Users/myuser/.ssh/id_rsa -F /Users/myuser/.ssh/config [email protected] 

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

Чтобы передать эти опции Rsync, вы должны установить "--rsh"/"-e", как это:

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

Круто, спасибо за это. В общем случае (если это не был домашний компьютер), то копирование моего ssh_config в/var/root было бы безопасным ядром, нет? Это означает, что любой, кто имеет доступ к sudo, может подключиться к удаленному хосту с помощью этого config? – 2008-11-24 09:19:31