ฉันพยายามที่จะผลักดันไดเรกทอรีไปยังเซิร์ฟเวอร์โดยใช้ rsync เกิดอะไรขึ้นกับคำสั่งนี้?


0

ฉันพยายามที่จะผลักดันไดเรกทอรีไปยังเซิร์ฟเวอร์โดยใช้ rsync เกิดอะไรขึ้นกับคำสั่งนี้?

สวัสดี,

ฉันพยายามที่จะผลักดันไดเรกทอรีไปยังคอมพิวเตอร์ของฉันใช้ SSH บนพอร์ต 2222 ดูด้านล่าง ฉันได้รับการเชื่อมต่อถูกปฏิเสธข้อผิดพลาด มีความคิดใดบ้างที่ฉันสามารถทำงานนี้ได้?

rsync - อัปเดต -P -r -v -e ssh -p $ 2222 / home / pi / rsynctest root@192.168.43.168: / root / rsynctest /

Vesa

แพลตฟอร์ม: Debian custom

คำตอบ:


3

อ้าง SSH กับพอร์ตเป็นอาร์กิวเมนต์เดียวเหมือนหรือ-e 'ssh -p 2222' -e "ssh -p 2222"สิ่งที่คุณเขียนระบุsshว่าเป็นอาร์กิวเมนต์ของ-eตัวเลือกจากนั้น-pตัวเลือกในการ rsync (เหมือน--perms) ตามด้วยชื่อไฟล์ปลอมซึ่งอาจทำให้เกิดข้อผิดพลาดหากการเชื่อมต่อ (และการรับรองความถูกต้อง) ประสบความสำเร็จ

$2222อย่าใช้ ที่จะไม่ระบุหมายเลข 2222; ใน singlequotes มันจะระบุสตริงที่เกิดขึ้นจริง$2222ซึ่งไม่ได้เป็นตัวเลขใน doublequotes 222มันจะขยายไปยังพารามิเตอร์ตำแหน่งที่สองของเปลือกของคุณซึ่งอาจเป็นสตริงที่ว่างเปล่าตามด้วย

อีกวิธีหนึ่งคือ man page บอกว่าคุณสามารถใช้ไฟล์ ssh config (ปกติ) .ssh/ssh_configเพื่อระบุพอร์ตโดยอัตโนมัติ (สำหรับทั้งหมด, หนึ่ง, หรือบางโฮสต์) นอกจากนี้ยังนำไปใช้กับสิ่งอื่น ๆ ที่คุณใช้เช่น ssh scp sftpและแน่นอนsshซึ่งอาจเป็นที่ต้องการที่นี่


ดูเหมือนจะเป็นขั้นตอนที่ใกล้กับโซลูชันมากขึ้น อย่างน้อยฉันก็ได้รับแจ้งให้ป้อนรหัสผ่านของเซิร์ฟเวอร์ SSH ทันที แต่ฉันได้รับข้อความแสดงข้อผิดพลาดนี้: rsync: ไม่พบคำสั่ง ฉันมี rsync กับลูกค้าเท่านั้น ฉันต้องติดตั้ง rsync บนเซิร์ฟเวอร์ SSH ด้วยหรือไม่
Vesa

ตอบตัวเอง: ใช่ rsync ดูเหมือนว่าจะต้องมีทั้งในเซิร์ฟเวอร์และลูกค้า ดูเหมือนว่าทุกอย่างจะทำงานได้ในตอนนี้ แต่ฉันจะอัปเดตอีกครั้งหากพบปัญหาในระหว่างการทดสอบ
Vesa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.