คำสั่ง SFTP อันดับต้นๆ พร้อมตัวอย่าง | คู่มือ SFTP ฉบับสมบูรณ์
เผยแพร่แล้ว: 2022-07-19SFTP คืออะไร? SFTP ทำงานอย่างไร
SFTP ( Secure File Transfer Protocol ) เป็นโปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัยที่สุดที่ใช้ในการเข้าถึง จัดการ และถ่ายโอนไฟล์ผ่านเครือข่าย SSH ที่ปลอดภัยทั้งหมด
คุณอาจเคยได้ยินเกี่ยวกับโปรโตคอล FTP SFTP นั้นน่าจะ คล้ายกับ FTP แต่มีความปลอดภัยมากกว่า SFTP ส่วนใหญ่จะใช้ในการถ่ายโอนและเข้าถึงไฟล์ผ่านการขนส่งที่ปลอดภัย ในขณะที่ใน FTP คุณสามารถทำงานหลายอย่าง เช่น แก้ไข ลบ จัดการ และโอนไฟล์
ต่างจาก SCP ตรงที่ SFTP อนุญาตให้ผู้ใช้เข้าถึงและจัดการไฟล์ต่างจากการโอนย้ายเท่านั้น อย่างไรก็ตาม บทช่วยสอนนี้เป็นข้อมูลเกี่ยวกับ SFTP ดังนั้น เราจะแนะนำคุณเกี่ยวกับงานที่เป็นไปได้ทั้งหมดที่คุณสามารถทำได้ใน SFTP ในบทความนี้ เราจะแนะนำคุณ เกี่ยวกับคำสั่ง SFTP ที่มีประโยชน์อันดับต้นๆ พร้อมตัวอย่าง ที่ทุกคนควรรู้ก่อนเริ่มต้นใช้งาน Secure File Transfer Protocol (SFTP)
ก่อนเข้าสู่คำสั่ง SFTP หาก ต้องการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลโดยใช้ SFTP คุณต้องมีสิทธิ์เปิดอยู่ในเซิร์ฟเวอร์ระยะไกล หากคุณไม่สามารถเชื่อมต่อกับ SFTP ได้ คุณควรติดต่อผู้ให้บริการโฮสต์ระยะไกลของคุณ
สร้างการเชื่อมต่อ SFTP
SFTP รองรับวิธีการตรวจสอบสิทธิ์ทั้งหมดของ SSH เนื่องจากเป็นแบบจำลองไคลเอ็นต์-เซิร์ฟเวอร์ ขอแนะนำให้ใช้ SFTP เพื่อถ่ายโอนไฟล์จำนวนมาก
ในการสร้างการเชื่อมต่อ SFTP บนเครือข่าย SSH คุณจะต้องติดตั้งไคลเอ็นต์ SSH บนระบบภายในของคุณ ตัวอย่างเช่น ฉันใช้ PuTTY เพื่อสร้างการเชื่อมต่อ SFTP จากเซิร์ฟเวอร์ในเครื่องของฉันไปยังเซิร์ฟเวอร์ระยะไกล
- ในการเชื่อมต่อกับ SFTP ให้เปิด PuTTY และเชื่อมต่อกับเซิร์ฟเวอร์ภายในของคุณโดยป้อนที่อยู่ IP หรือชื่อโฮสต์
- พิมพ์ชื่อผู้ใช้และรหัสผ่านเพื่อเข้าสู่เซิร์ฟเวอร์ในพื้นที่ของคุณ
- ตอนนี้คุณสามารถสร้างการเชื่อมต่อ SFTP โดยใช้คำสั่งต่อไปนี้:
sftp remote_username@serverIP_or_hostname
- ดูภาพด้านล่างเช่นที่ฉันใช้ remote_username & ที่อยู่ IP ของฉัน
- พิมพ์รหัสผ่านของเซิร์ฟเวอร์ระยะไกลและกด Enter เพื่อเชื่อมต่อกับ SFTP คุณจะเห็นข้อความแจ้ง sftp> หลังจากเชื่อมต่อสำเร็จ
ในบางกรณี เซิร์ฟเวอร์ระยะไกลหยุดฟังพอร์ตเริ่มต้น 22 ในกรณีนี้ คุณสามารถลองป้อนพอร์ตด้วยตนเองในขณะที่สร้างการเชื่อมต่อโดยทำตามคำสั่งด้านล่าง
sftp -p custom_port remote_username@serverIP_or_hostname
คำสั่ง SFTP ยอดนิยม
- มีหลายร้อยคำสั่งที่คุณสามารถใช้ได้ใน SFTP คำสั่งส่วนใหญ่มักจะคล้ายกับคำสั่ง Linux Shell คุณสามารถใช้คำสั่ง help เพื่อดูรายการคำสั่ง SFTP ที่มีอยู่ทั้งหมด
เอาท์พุท: sftp> ช่วยเหลือ คำสั่งที่ใช้ได้: ลาก่อน ออกจาก sftp เส้นทาง cd เปลี่ยนไดเรกทอรีระยะไกลเป็น 'เส้นทาง' เส้นทาง chgrp grp เปลี่ยนกลุ่มของไฟล์ 'เส้นทาง' เป็น 'grp' เส้นทางโหมด chmod เปลี่ยนการอนุญาตของไฟล์ 'เส้นทาง' เป็น 'โหมด' chown own path เปลี่ยนเจ้าของไฟล์ 'path' เป็น 'own' ...... ...... ...... ออก ออกจาก sftp
- คุณสามารถดูไดเร็กทอรีการทำงานระยะไกลปัจจุบันของคุณได้โดยใช้คำสั่ง pwd
เอาท์พุท: sftp> pwd ไดเร็กทอรีการทำงานระยะไกล: /home/Getintod
นอกจากนั้น คุณสามารถเพิ่ม l (ท้องถิ่น) ก่อนคำสั่ง SFTP เพื่อดำเนินการบนเซิร์ฟเวอร์ภายในของคุณ ตัวอย่างเช่น ใช้คำสั่ง lpwd เพื่อดูไดเร็กทอรีการทำงานปัจจุบันในเครื่อง
เอาท์พุท: sftp> lpwd ไดเร็กทอรีการทำงานในเครื่อง: /home/learnher
ใช้คำสั่ง ls เพื่อดูรายการไฟล์และไดเร็กทอรีที่มีอยู่ภายใน SFTP ระยะไกล

sftp> ls หน้าแรก/ผู้ใช้/เส้นทาง
ในทำนองเดียวกัน ใช้คำสั่ง lls เพื่อดูรายการไฟล์และไดเร็กทอรีที่มีอยู่ภายในเซิร์ฟเวอร์ภายใน
sftp> lls หน้าแรก/ผู้ใช้/เส้นทาง
ในการเรียกดูไดเร็กทอรี คุณสามารถใช้คำสั่ง cd
sftp> cd หน้าแรก/ผู้ใช้/เส้นทาง
ในลักษณะนี้ ใช้คำสั่ง lcd เพื่อเปลี่ยนไดเร็กทอรีการทำงานปัจจุบันของเซิร์ฟเวอร์ในเครื่องของคุณ
sftp> หน้าจอ LCD หน้าแรก/ผู้ใช้/เส้นทาง
โอนไฟล์ใน SFTP
คุณสามารถดาวน์โหลดหรือถ่ายโอนไฟล์ ( Remote to Local ) ใน SFTP ได้อย่างง่ายดายโดยใช้คำสั่ง get
sftp> รับ filename.zip
ไฟล์ที่ดาวน์โหลดมาจะถูกเก็บไว้ ในไดเร็กทอรีการทำงานในเครื่องปัจจุบัน นอกจากนี้ คุณสามารถดาวน์โหลดไฟล์ด้วยชื่อใหม่ได้โดยใช้คำสั่งต่อไปนี้
sftp> รับ filename.zip Newname.zip
ในบางกรณี การดาวน์โหลดหรือถ่ายโอนอาจล้มเหลวหรือถูกขัดจังหวะในระหว่างนั้น คุณสามารถดำเนินการดาวน์โหลดต่อโดยทำตามคำสั่งด้านล่าง
sftp> กู้คืน filename.zip
ตอนนี้คุณรู้คำสั่งในการถ่ายโอนไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังเซิร์ฟเวอร์ภายในของคุณแล้ว นอกจากนี้ คุณยังสามารถถ่ายโอนไฟล์จากเซิร์ฟเวอร์ภายในของคุณไปยังเซิร์ฟเวอร์ระยะไกลโดยใช้คำสั่ง put
sftp> ใส่ filename.zip
คำสั่ง put จะถ่ายโอนไฟล์เท่านั้น ในการถ่ายโอนไดเร็กทอรีจากโลคัลไปยังเซิร์ฟเวอร์ระยะไกล คุณสามารถเพิ่มอาร์กิวเมนต์ -r แบบเรียกซ้ำในคำสั่งของคุณ
sftp> ใส่ -r directory_name
ในทำนองเดียวกัน หากต้องการให้ไฟล์ที่ถูกขัดจังหวะทำงานต่อ ให้ใช้คำสั่งด้านล่าง
sftp> ชื่อเสียง filename.zip
คุณสามารถใช้อาร์กิวเมนต์ทั้งหมดในคำสั่ง put ที่คุณใช้ในคำสั่ง get
คำสั่ง SFTP อื่นๆ ที่มีประโยชน์
มีคำสั่ง SFTP ที่สำคัญอื่นๆ ที่คุณควรทราบ อย่างไรก็ตาม หากคุณรู้จักคำสั่ง Linux Shell Commands ก็จะเป็นเรื่องง่ายสำหรับคุณ เนื่องจากคุณสามารถใช้คำสั่งเชลล์ Linux บางคำสั่งใน SFTP ได้
- ในการรับข้อมูลเกี่ยวกับรีโมตเซิร์ฟเวอร์:
sftp> df
- ในการเปลี่ยนการอนุญาตไฟล์ของไฟล์บนเซิร์ฟเวอร์ระยะไกล :
sftp> chmod 644 ชื่อไฟล์.php
- ในการสร้างไดเร็กทอรีใหม่บนรีโมตเซิร์ฟเวอร์ :
sftp> mkdir directory_name
- ในการลบไฟล์บนเซิร์ฟเวอร์ระยะไกล :
sftp> rm filename.php
- ในการเปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์ระยะไกล :
sftp> เปลี่ยนชื่อ filaname.php new_filename.php
- ในการลบไดเร็กทอรีว่างบนเซิร์ฟเวอร์ระยะไกล :
sftp> rmdir directory_name
- เปลี่ยนเจ้าของกลุ่มของไฟล์ระยะไกล :
sftp> chgrp group_id file_name
- เปลี่ยนเจ้าของไฟล์บนเซิร์ฟเวอร์ระยะไกล (Root) :
[root@test pwd]# chown user_id file_name
- หากต้องการทราบเวอร์ชัน SFTP ปัจจุบันของคุณ:
sftp> เวอร์ชัน
- วิธีเปลี่ยนกลุ่ม & เจ้าของไฟล์/ไดเรกทอรี (รูท) :
[root@test pwd]# chown username:groupname filename.php
[root@test pwd]# chown username:groupname directoryname
- ย้ายเนื้อหาทั้งหมดภายในไดเร็กทอรีไปยังไดเร็กทอรีอื่น (ย้ายไฟล์และไดเร็กทอรีทั้งหมดภายในไดเร็กทอรีหนึ่งระดับขึ้นไป)
sftp> mv -v ชื่อไดเรกทอรี/* ~/home/user/path
นอกเหนือจากนี้ คุณไม่สามารถลบไดเร็กทอรีใด ๆ ที่มีเนื้อหาอยู่ภายในได้ นอกจากนี้ SFTP ยังไม่อนุญาตให้ผู้ใช้สร้างไฟล์ใหม่ อย่างไรก็ตาม คุณยังคงสามารถลบไฟล์ได้หากต้องการ
หากต้องการปิดการเชื่อมต่อ SFTP ให้พิมพ์คำสั่ง bye หรือ quit แล้วกดปุ่ม Enter เพื่อย้ายกลับไปยังเซิร์ฟเวอร์ภายในของคุณ
เราหวังว่าคุณจะมีความรู้ที่ดีเกี่ยวกับคำสั่ง SFTP และการใช้คำสั่ง SFTP นอกจากนั้น ตอนนี้คุณสามารถถ่ายโอนหรือดาวน์โหลดไฟล์จาก SFTP ไปยังเซิร์ฟเวอร์ภายในและภายในเครื่องไปยังเซิร์ฟเวอร์ SFTP ได้อย่างง่ายดาย