Android

วิธีใช้คำสั่ง linux sftp เพื่อถ่ายโอนไฟล์

How to connect Filezilla with SFTP Gateway

How to connect Filezilla with SFTP Gateway

สารบัญ:

Anonim

SFTP (SSH File Transfer Protocol) เป็นโปรโตคอลไฟล์ที่ปลอดภัยที่ใช้ในการเข้าถึงจัดการและถ่ายโอนไฟล์ผ่านการขนส่ง SSH ที่เข้ารหัส

เมื่อเปรียบเทียบกับโปรโตคอล FTP แบบดั้งเดิม SFTP นำเสนอฟังก์ชันการทำงานทั้งหมดของ FTP และง่ายต่อการกำหนดค่า

ต่างจาก scp command ซึ่งอนุญาตให้ถ่ายโอนไฟล์เท่านั้นคำสั่ง sftp ช่วยให้คุณสามารถทำการดำเนินการกับไฟล์ระยะไกลและทำการถ่ายโอนไฟล์ต่อ

ในบทช่วยสอนนี้เราจะแสดงวิธีใช้คำสั่ง sftp Linux

ก่อนที่คุณจะเริ่ม

เพื่อให้สามารถถ่ายโอนและจัดการไฟล์ผ่าน SFTP คุณต้องมีสิทธิ์เขียนบนระบบระยะไกล

เมื่อถ่ายโอนไฟล์ขนาดใหญ่ขอแนะนำให้รันคำสั่ง sftp ภายในหน้าจอหรือเซสชัน tmux

ไดเร็กทอรีจากตำแหน่งที่คุณรันคำสั่ง sftp คือไดเร็กทอรีการทำงานโลคัล

สร้างการเชื่อมต่อ SFTP

SFTP ทำงานบนรูปแบบไคลเอนต์ - เซิร์ฟเวอร์ เป็นระบบย่อยของ SSH และสนับสนุนกลไกการพิสูจน์ตัวตน SSH ทั้งหมด

แม้ว่าการรับรองความถูกต้องรหัสผ่านแบบดั้งเดิมจะถูกตั้งค่าตามค่าเริ่มต้นและใช้งานง่ายกว่าหากคุณเชื่อมต่อกับเซิร์ฟเวอร์ของคุณเป็นประจำผ่าน SSH / SFTP ขอแนะนำให้สร้างคีย์ SSH และตั้งค่าการเข้าสู่ระบบ SFTP ที่ไม่มีรหัสผ่าน

ในการเปิดการเชื่อมต่อ SFTP กับระบบระยะไกลให้ใช้คำสั่ง sftp ตามด้วยชื่อผู้ใช้เซิร์ฟเวอร์ระยะไกลและที่อยู่ IP หรือชื่อโดเมน:

sftp remote_username@server_ip_or_hostname

เมื่อเชื่อมต่อแล้วคุณจะได้รับพรอมต์ sftp และคุณสามารถเริ่มทำงานกับเครื่องระยะไกลได้:

Connected to remote_username@server_ip_or_hostname. sftp>

หากเซิร์ฟเวอร์ SSH ระยะไกลไม่ฟังพอร์ตดีฟอลต์ 22 ให้ใช้ตัวเลือก -oPort เพื่อระบุพอร์ตสำรอง:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

คำสั่ง SFTP

คำสั่ง SFTP ส่วนใหญ่จะคล้ายหรือเหมือนกับคำสั่งที่คุณจะใช้ในพรอมต์เชลล์ของ Linux

คุณสามารถรับรายการคำสั่ง SFTP ที่มีอยู่ทั้งหมดโดยพิมพ์ help หรือ ? .

help

Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

การนำทางด้วย SFTP

เมื่อคุณล็อกอินเข้าสู่เซิร์ฟเวอร์รีโมตไดเร็กทอรีการทำงานปัจจุบันของคุณคือโฮมไดเร็กทอรีผู้ใช้รีโมต คุณสามารถตรวจสอบได้โดยพิมพ์:

pwd

Remote working directory: /home/remote_username

หากต้องการแสดงรายการไฟล์และไดเร็กทอรีให้ใช้ ls สั่ง ls :

ls

หากต้องการนำทางไปยังไดเรกทอรีอื่นให้ใช้คำสั่ง cd ตัวอย่างเช่นหากต้องการสลับไปยังไดเร็กทอรี /tmp คุณจะต้องพิมพ์:

cd /tmp

คำสั่งข้างต้นจะใช้เพื่อนำทางและทำงานในสถานที่ห่างไกล

sftp shell ยังมีคำสั่งสำหรับการนำทางโลคัลข้อมูลและการจัดการไฟล์ คำสั่งโลคัลถูกนำหน้าด้วยตัวอักษร l

ตัวอย่างเช่นหากต้องการพิมพ์ไดเร็กตอรี่ในการทำงานคุณต้องพิมพ์:

cd lpwd

Local working directory: /home/local_username

การถ่ายโอนไฟล์ด้วย SFTP

ด้วย SFTP คุณสามารถถ่ายโอนไฟล์อย่างปลอดภัยระหว่างสองเครื่อง

คำสั่ง sftp มีประโยชน์เมื่อคุณทำงานบนเซิร์ฟเวอร์ที่ไม่มี GUI และคุณต้องการถ่ายโอนไฟล์หรือดำเนินการอื่น ๆ กับไฟล์ระยะไกล

การดาวน์โหลดไฟล์ด้วยคำสั่ง SFTP

เมื่อคุณเข้าสู่เซิร์ฟเวอร์ระยะไกลไดเรกทอรีทำงานปัจจุบันของคุณคือไดเรกทอรีบ้านผู้ใช้ระยะไกล

เมื่อดาวน์โหลดไฟล์ด้วยคำสั่ง sftp ไฟล์จะถูกดาวน์โหลดไปยังไดเรกทอรีที่คุณพิมพ์คำสั่ง sftp

หากต้องการดาวน์โหลดไฟล์เดียวจากเซิร์ฟเวอร์ระยะไกลให้ใช้คำสั่ง get :

get filename.zip

ผลลัพธ์ควรมีลักษณะดังนี้:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

get filename.zip local_filename.zip

หากต้องการดาวน์โหลดไดเร็กทอรีจากระบบรีโมตใช้อ็อพชัน recursive -r :

get -r remote_directory

หากการถ่ายโอนไฟล์ล้มเหลวหรือถูกขัดจังหวะคุณสามารถดำเนินการต่อโดยใช้คำสั่ง reget

ไวยากรณ์ของ reget เหมือนกับไวยากรณ์ของ get :

reget filename.zip

การอัพโหลดไฟล์ด้วยคำสั่ง SFTP

หากต้องการอัปโหลดไฟล์จากเครื่องท้องถิ่นไปยังเซิร์ฟเวอร์ SFTP ระยะไกลให้ใช้คำสั่ง put :

put filename.zip

ผลลัพธ์ควรมีลักษณะดังนี้:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06

หากไฟล์ที่คุณต้องการอัปโหลดไม่ได้อยู่ในไดเรกทอรีการทำงานปัจจุบันของคุณให้ใช้พา ธ สัมบูรณ์ไปยังไฟล์

เมื่อทำงานกับ put คุณสามารถใช้ตัวเลือกเดียวกันกับคำสั่ง get

ในการอัปโหลดไดเรกทอรีท้องถิ่นคุณจะต้องพิมพ์:

put -r locale_directory

หากต้องการให้การอัปโหลดหยุดชะงัก

reput filename.zip

จัดการไฟล์ด้วย SFTP

โดยทั่วไปแล้วในการทำงานบนเซิร์ฟเวอร์ระยะไกลคุณต้องเชื่อมต่อผ่าน SSH และทำงานของคุณโดยใช้เชลล์เทอร์มินัล อย่างไรก็ตามในบางสถานการณ์ผู้ใช้อาจมีการเข้าถึง SFTP ไปยังเซิร์ฟเวอร์ระยะไกลเท่านั้น

SFTP ช่วยให้คุณสามารถดำเนินการคำสั่งการจัดการไฟล์ขั้นพื้นฐานได้ ด้านล่างนี้เป็นตัวอย่างบางส่วนของวิธีใช้เชลล์ SFTP:

  • รับข้อมูลเกี่ยวกับการใช้ดิสก์ของระบบรีโมต:

    df

    Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%

    สร้างไดเรกทอรีใหม่บนเซิร์ฟเวอร์ระยะไกล:

    mkdir directory_name

    เปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์ระยะไกล:

    rename file_name new_file_name

    ลบไฟล์บนเซิร์ฟเวอร์ระยะไกล:

    rm file_name

    ลบไดเรกทอรีบนเซิร์ฟเวอร์ระยะไกล:

    rmdir directory_name

    เปลี่ยนการอนุญาตของไฟล์บนระบบรีโมต:

    chmod 644 file_name

    เปลี่ยนเจ้าของไฟล์บนระบบรีโมต:

    chown user_id file_name

    คุณต้องระบุ ID ผู้ใช้ให้กับคำสั่ง chown และ chgrp

    เปลี่ยนเจ้าของกลุ่มของไฟล์รีโมตด้วย:

    chgrp group_id file_name

เมื่อคุณทำงานเสร็จแล้วให้ปิดการเชื่อมต่อโดยพิมพ์ bye หรือ quit

ข้อสรุป

ในบทช่วยสอนนี้เราได้แสดงวิธีใช้คำสั่ง sftp เพื่อดาวน์โหลดและอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ SFTP ระยะไกลของคุณ

คุณอาจต้องการตั้งค่าการรับรองความถูกต้องโดยใช้คีย์ SSH และเชื่อมต่อกับเซิร์ฟเวอร์ Linux ของคุณโดยไม่ต้องป้อนรหัสผ่าน

อย่าลังเลที่จะแสดงความคิดเห็นหากคุณมีคำถามหรือข้อเสนอแนะ

sftp terminal