ผมมีเครื่อง A.
จากนั้นฉันสามารถ SSH ไปยังเครื่อง B
เครื่อง B สามารถ FTP ไปยังเครื่อง C ได้
ฉันต้องการดาวน์โหลดไฟล์จาก C ไปยัง A
ฉันไม่สามารถเข้าถึงจาก A ถึง C ได้โดยตรง
พอร์ต 20 และ 21
âââââ âââââ การควบคุม FTP ââââââ âââââââââââââ
â â SSH â ââââââââââââââ ââââºâ â
â A ââââââºâ B â â C - พร้อมไฟล์ â
â â â ââââââââââââââ ââââºâ ฉันต้องการ â
ข้อมูล FTP â â
พอร์ตสุ่ม ââââââââââââââââ âââ
ฉันรู้ว่ามีคำถามมากมายเกี่ยวกับ SFTP ในเว็บไซต์นี้
เท่าที่ฉันสามารถบอกได้ ซึ่งไม่เหมือนกับ SFTP.
ด้วย SFTP ดูเหมือนว่าเซิร์ฟเวอร์ SSH จะต้องเป็นเซิร์ฟเวอร์เดียวกับที่มีไฟล์ให้ดาวน์โหลด ซึ่งไม่ใช่ปัญหาที่นี่
ถูกต้องหรือไม่ หรือมีวิธีใดในการทำเช่นนี้ด้วยคำสั่ง SFTP อย่างง่ายและอาร์กิวเมนต์เพิ่มเติม
มีวิธีง่ายๆ ในการทำเช่นนี้หรือไม่?
ไฟล์มีขนาดใหญ่ และดิสก์และหน่วยความจำบน B มีขนาดเล็ก ดังนั้นหากเป็นไปได้ ฉันต้องการสตรีมข้อมูลโดยตรง (เทียบกับการดาวน์โหลด FTP สองขั้นตอนลงดิสก์ของ B.)
โดยทั่วไป SSH สามารถขุดอุโมงค์อะไรก็ได้ แต่เห็นได้ชัดว่า FTP ใช้มากกว่าแค่พอร์ต 20 และ 21 มันใช้พอร์ตแบบสุ่มและคาดเดาไม่ได้จำนวนมาก ซึ่งเป็นพอร์ตใหม่สำหรับการดำเนินการแต่ละไฟล์ ช่วงที่เป็นไปได้ของพอร์ต FTP ดังกล่าวนั้นใหญ่มากจนฉันลองใช้ไคลเอนต์หนึ่งเครื่อง ฉันไม่สามารถส่งต่อพอร์ตทั้งหมดด้วย SSH ได้
(โปรดทราบว่าฉันกำลังพยายาม เฉยเมย FTP ซึ่งการเชื่อมต่อเครือข่ายทั้งหมดเริ่มต้นจากไคลเอนต์เซิร์ฟเวอร์ ตรงข้ามกับ คล่องแคล่ว FTP โดยที่ C จะเริ่มการเชื่อมต่อกลับไปยัง B ซึ่งไม่สามารถทำได้เนื่องจากมี NAT ระหว่างกัน)
ฉันพยายามเขียนสคริปต์ใน python แฮ็กเข้าด้วยกัน ไลบรารีมาตรฐาน FTP และบุคคลที่ 3 ไลบรารีอุโมงค์ SSH. เป็นวิธีแก้ปัญหาที่ค่อนข้างซับซ้อนและยุ่งยาก ซึ่งส่งผลให้ฉันเปิดพอร์ตใหม่สำหรับไฟล์ใหม่ทุกไฟล์ แต่ไม่เคยปิดมัน นอกจากนี้ การอัปเกรดล่าสุดเป็นหนึ่งไลบรารีได้ทำลายการอ้างอิงบางส่วน ดังนั้นตอนนี้สคริปต์จึงใช้งานไม่ได้กับไลบรารีเวอร์ชันล่าสุดเหล่านี้ ฉันถูกล่อลวงให้เขียนวิธีแก้ปัญหาใหม่ด้วยพื้นฐาน ปารามิโกะ ห้องสมุด. แต่ฉันกลัวว่านั่นจะเป็นโพรงกระต่ายลึก สิ่งนี้ช่างเที่ยวยุ่งยิ่งจริงๆ (โปรดแจ้งให้เราทราบหากคุณต้องการเห็นความพยายามของฉัน ฉันพยายามละเว้นเพื่อหลีกเลี่ยง ปัญหา X/Y.)
มีวิธีที่ง่ายกว่านี้ในการขุดอุโมงค์หรือไม่?
ฉันต้องการวิธีแก้ปัญหาด้วย Python แต่ ณ จุดนี้ฉันหมดหวังพอที่จะใช้เครื่องมือใด ๆ