คัดลอกไฟล์จากรีโมตโฮสต์ไปยังอีกเครื่องด้วย scp / ssh tunnel


2

ฉันต้องการคัดลอกไฟล์จากรีโมตโฮสต์ (remote1) ไปยังรีโมตโฮสต์อื่น (remote2) ผ่านเครื่องท้องถิ่นของฉัน ฉันสามารถสร้างการเชื่อมต่อ ssh จากเครื่องโลคอลนี้ไปยังรีโมททั้งสองอย่างใดอย่างหนึ่งเท่านั้น พวกเขาไม่มีการเชื่อมต่อระหว่างกันและฉันไม่สามารถเชื่อมต่อกับท้องถิ่นจากรีโมทใด ๆ

ฉันอ่านฉันควรใช้ scp -3 user @ remote1: โฟลเดอร์ / ไฟล์ user @ remote2: โฟลเดอร์ / แต่น่าเสียดายที่รุ่น scp นั้นเก่าเกินไปสำหรับ -3 ดังนั้นฉันอ่านฉันต้องการอุโมงค์ SSH คุณช่วยพาฉันผ่านมันไปได้ไหม


2
ลอง sshfs เพื่อเมาท์จุดปลายที่สองไปยังตำแหน่งบนระบบของคุณและคัดลอกไฟล์จากระบบแรกเข้าไปในนั้น: en.wikipedia.org/wiki/SSHFS
Frank Thomas

sshfs ไม่สามารถใช้ได้ในระบบ ฉันยังไม่มี acces รากใด ๆ ของเครื่องหากที่สำคัญสำหรับคำตอบ ...
มอริตซ์เอช

คำตอบ:


1

คุณจะต้องใช้เปลือกสองครั้ง บนเชลล์แรกคุณพิมพ์:

ssh user_r1@remote1 -L 2222:localhost:22

จากนั้นบนเปลือกที่สอง:

ssh user_r2@remote2 -R 2222:localhost:2222
ssh user_r1@localhost -p 2222

ในเชลล์แรกคุณจะเชื่อมต่อกับ remote1 และเปลี่ยนทราฟฟิกจากพอร์ต 2222 บนเครื่องโลคัลของคุณไปยังพอร์ต 22 บน remote1

ในเชลล์ที่สองคุณจะเชื่อมต่อกับ remote2 และเปลี่ยนเส้นทางทราฟฟิกจากพอร์ต 2222 จาก remote2 ไปยังพอร์ต 2222 บนเครื่องโลคัล

จากนั้นเชื่อมต่อกับ remote2 หากคุณพยายาม ssh (หรือ scp) บน localhost พอร์ต 2222 ทราฟฟิกจะถูกเปลี่ยนเส้นทางไปยัง remote1 บนพอร์ต 22


ขอบคุณมากสำหรับสิ่งนี้ มันใช้งานได้ดีมาก ถึงแม้ว่าผมจะต้องการที่จะทราบว่าสวิทช์ P จาก SSH สอดคล้องกับสวิทช์ที่ P (ตัวพิมพ์ใหญ่) จาก SCP :)
มอริตซ์เอช
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.