ฉันต้องทำการสำรองข้อมูลเป็นระยะของไดเรกทอรีบนเซิร์ฟเวอร์ระยะไกลซึ่งเป็นเครื่องเสมือนที่โฮสต์โดยองค์กรการวิจัย พวกเขาสั่งการเข้าถึง VMs ผ่าน ssh keys ซึ่งดีทั้งหมดยกเว้นว่าฉันไม่สามารถหาวิธีชี้ rsync ไปยังคีย์ ssh สำหรับเซิร์ฟเวอร์นี้ได้
rsync ไม่มีปัญหาถ้าไฟล์ที่สำคัญคือแต่เมื่อมันเป็นสิ่งที่ฉันได้รับ~/.ssh/id_rsa
Permission denied (publickey)
ด้วย ssh ฉันสามารถระบุไฟล์ข้อมูลส่วนตัวด้วย-i
, แต่ดูเหมือนว่า rsync จะไม่มีตัวเลือกดังกล่าว
ฉันยังได้ลองย้ายคีย์บนเครื่องท้องถิ่นไปชั่วคราว~/.ssh/id_rsa
แต่นั่นก็ไม่ได้ผลเช่นเดียวกัน
TL; DR
คุณสามารถระบุไฟล์ระบุตัวตนด้วย rsync ได้หรือไม่?
rsync -aAP "sudo -u user ssh" user@server:dir local_dir
เมื่อซิงค์จากสคริปต์ cron ซึ่งทำงานเป็นราก
sudo rsync
นั้นซึ่งไม่ได้ใช้คีย์ ssh ของตัวเองด้วยเหตุผลบางอย่าง