ค้นหาเว็บไซต์

วิธีอัพโหลดหรือดาวน์โหลดไฟล์/ไดเร็กทอรีโดยใช้ 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 ใช้ส่วนความคิดเห็นด้านล่างเพื่อเสนอความคิดเห็นของคุณเกี่ยวกับบทความ/หัวข้อนี้