วิธีอัพโหลดหรือดาวน์โหลดไฟล์/ไดเร็กทอรีโดยใช้ sFTP ใน Linux
sFTP (โปรแกรมถ่ายโอนไฟล์ที่ปลอดภัย) เป็นโปรแกรมถ่ายโอนไฟล์แบบโต้ตอบที่ปลอดภัย ซึ่งทำงานในลักษณะเดียวกันกับ FTP (File Transfer Protocol) อย่างไรก็ตาม sFTP มีความปลอดภัยมากกว่า FTP; โดยจะจัดการการดำเนินการทั้งหมดผ่านการขนส่ง SSH ที่เข้ารหัส
สามารถกำหนดค่าให้ใช้คุณสมบัติ SSH ที่มีประโยชน์หลายประการ เช่น การตรวจสอบสิทธิ์และการบีบอัดคีย์สาธารณะ โดยจะเชื่อมต่อและเข้าสู่ระบบเครื่องระยะไกลที่ระบุ และสลับไปยังโหมดคำสั่งแบบโต้ตอบซึ่งผู้ใช้สามารถดำเนินการคำสั่งต่างๆ ได้
ในบทความนี้ เราจะแสดงวิธีอัปโหลด/ดาวน์โหลดไดเร็กทอรีทั้งหมด (รวมทั้งไดเร็กทอรีย่อยและไฟล์ย่อย) โดยใช้ sFTP
วิธีใช้ sFTP เพื่อถ่ายโอนไฟล์/ไดเร็กทอรีใน Linux
ตามค่าเริ่มต้น SFTP จะใช้การขนส่ง SSH เดียวกันเพื่อสร้างการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์ระยะไกล แม้ว่ารหัสผ่านจะใช้ในการตรวจสอบผู้ใช้ที่คล้ายกับการตั้งค่า SSH เริ่มต้น แต่ขอแนะนำให้สร้างและใช้การเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH เพื่อการเชื่อมต่อที่ง่ายและปลอดภัยยิ่งขึ้นกับโฮสต์ระยะไกล
เชื่อมต่อกับเซิร์ฟเวอร์ FTP ระยะไกลอย่างปลอดภัย
หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์ SFTP ระยะไกล ขั้นแรกให้สร้างการเชื่อมต่อ SSH ที่ปลอดภัย จากนั้นจึงสร้างเซสชัน SFTP ดังที่แสดง
sftp [email
เมื่อคุณเข้าสู่ระบบโฮสต์ระยะไกลแล้ว คุณสามารถเรียกใช้คำสั่ง sFTP แบบโต้ตอบได้ดังตัวอย่างด้านล่าง:
sftp> ls #list directory
sftp> pwd #print working directory on remote host
sftp> lpwd #print working directory on local host
sftp> mkdir uploads #create a new directory
วิธีอัปโหลดไดเรกทอรีโดยใช้ sFTP
หากต้องการอัปโหลดไดเร็กทอรีทั้งหมดไปยังโฮสต์ Linux ระยะไกล ให้ใช้คำสั่ง put อย่างไรก็ตาม คุณจะได้รับข้อผิดพลาดหากไม่มีชื่อไดเร็กทอรีในไดเร็กทอรีที่ทำงานบนโฮสต์ระยะไกลตามที่แสดงในภาพหน้าจอด้านล่าง
ดังนั้น ขั้นแรกให้สร้างไดเร็กทอรีที่มีชื่อเดียวกันบนรีโมตโฮสต์ ก่อนที่จะอัปโหลดจากโลคัลโฮสต์ -r
จะช่วยทำให้สามารถคัดลอกไดเร็กทอรีย่อยและไฟล์ย่อยได้เช่นกัน:
sftp> put -r linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles
เพื่อรักษาเวลาแก้ไข เวลาเข้าถึง และโหมดจากไฟล์ต้นฉบับที่ถ่ายโอน ให้ใช้แฟล็ก -p
sftp> put -pr linux-console.net-articles
วิธีดาวน์โหลดไดเรกทอรีโดยใช้ sFTP
หากต้องการดาวน์โหลดไดเร็กทอรีทั้งหมดชื่อ fstools-0.0 จากโฮสต์ Linux ระยะไกลไปยังเครื่องภายใน ให้ใช้คำสั่ง get พร้อมกับแฟล็ก -r
ดังนี้:
sftp> get -r fstools-0.0
จากนั้นตรวจสอบในไดเร็กทอรีการทำงานปัจจุบันบนโลคัลโฮสต์ หากไดเร็กทอรีถูกดาวน์โหลดโดยมีเนื้อหาทั้งหมดอยู่ในนั้นหรือไม่
หากต้องการใช้เชลล์ sFTP ให้พิมพ์:
sftp> bye
OR
sftp> exit
นอกจากนี้ โปรดอ่านคำสั่ง sFTP และเคล็ดลับการใช้งานอย่างละเอียด
โปรดทราบว่าเพื่อป้องกันไม่ให้ผู้ใช้เข้าถึงระบบไฟล์ทั้งหมดบนโฮสต์ระยะไกล ด้วยเหตุผลด้านความปลอดภัย คุณสามารถจำกัดผู้ใช้ sFTP ไว้ที่โฮมไดเร็กทอรีของตนได้โดยใช้ chroot Jail
แค่นั้นแหละ! ในบทความนี้ เราได้แสดงวิธีอัปโหลด/ดาวน์โหลดไดเรกทอรีทั้งหมดโดยใช้ sFTP ใช้ส่วนความคิดเห็นด้านล่างเพื่อเสนอความคิดเห็นของคุณเกี่ยวกับบทความ/หัวข้อนี้