يقوم OS X بتشغيل rsync ضمن sudo باستخدام ssh_config

StackOverflow https://stackoverflow.com/questions/312527

  •  10-07-2019
  •  | 
  •  

سؤال

أريد إعداد تلقائي 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?

شكرًا!

هل كانت مفيدة؟

المحلول

يمكنك استخدام

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

للسماح لـ ssh باستخدام ملفات التكوين/المفتاح الخاصة بك.استخدم "-v" للتحقق من الملف الذي يستخدمه.يمكنك أيضًا نسخ معرف/التكوين الخاص بك إلى /var/root/.ssh، والذي سيتم استخدامه افتراضيًا عند استخدام ssh عبر sudo.

لتمرير هذه الخيارات إلى rsync، عليك ضبط "--rsh" / "-e" على النحو التالي:

rsync -e "ssh -i ... -F ..."
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top