การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync
ย้ายไฟล์ระหว่างเครื่องผ่านช่องทาง SSH ที่เข้ารหัส เปรียบเทียบ scp, sftp และ rsync เรียนรู้ตัวเลือกสำคัญ และเลือกเครื่องมือที่เหมาะกับการคัดลอกครั้งเดียว การถ่ายโอนแบบโต้ตอบ และการซิงค์อย่างมีประสิทธิภาพ
การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
การถ่ายโอนไฟล์ผ่าน SSH
คุณเชี่ยวชาญอุโมงค์ ตัวแทน และการเชื่อมต่อหลายทอดแล้ว พื้นฐาน SSH เดียวกันนี้ยังรองรับการถ่ายโอนไฟล์อย่างปลอดภัย โดยไม่ต้องใช้บริการเพิ่มเติมหรือเปิดพอร์ตเพิ่ม
เครื่องมือสามชนิดทำงานบน SSH ได้แก่ scp สำหรับคัดลอกอย่างรวดเร็ว sftp สำหรับเซสชันแบบโต้ตอบ และ rsync สำหรับการซิงโครไนซ์อย่างมีประสิทธิภาพ
scp: การคัดลอกอย่างง่าย
scp ทำงานเหมือน cp แต่สามารถคัดลอกข้ามเครื่องได้ ฝั่งระยะไกลใช้ไวยากรณ์ user@host:path
คำสั่งนี้จะอัปโหลดไฟล์ในเครื่องไปยังเซิร์ฟเวอร์
scp report.pdf deploy@server:/home/deploy/docs/scp: การดาวน์โหลดและไดเรกทอรี
สลับลำดับอาร์กิวเมนต์เพื่อดาวน์โหลด เพิ่ม -r เพื่อคัดลอกไดเรกทอรีทั้งหมดแบบวนซ้ำ
scp deploy@server:/var/log/app.log ./
scp -r deploy@server:/etc/myapp ./backup/scp กับพอร์ตและคีย์แบบกำหนดเอง
หากเซิร์ฟเวอร์ใช้พอร์ตที่ไม่ใช่ค่ามาตรฐาน โปรดทราบว่า scp ใช้ -P ตัวพิมพ์ใหญ่ (ต่างจาก -p ตัวพิมพ์เล็กของ ssh) นอกจากนี้ คุณยังระบุคีย์เฉพาะด้วย -i ได้
scp -P 2222 -i ~/.ssh/deploy_key file.txt deploy@server:/tmp/sftp: การถ่ายโอนแบบโต้ตอบ
sftp จะเปิดเซสชันแบบโต้ตอบที่คล้ายพรอมต์ FTP แต่เข้ารหัสอย่างสมบูรณ์ คุณสามารถนำทางและถ่ายโอนไฟล์ด้วยคำสั่งที่คุ้นเคย
put file— อัปโหลดget file— ดาวน์โหลดls,cd,pwd— การนำทางฝั่งระยะไกลlcd,lls— การนำทางในเครื่อง
sftp deploy@server
sftp> cd /var/www
sftp> put index.html
sftp> get backup.tar.gzเหตุผลที่ rsync แตกต่าง
rsync จะถ่ายโอนเฉพาะส่วนของไฟล์ที่เปลี่ยนแปลง เมื่อเรียกใช้ซ้ำจะเร็วกว่า scp อย่างมาก จึงเหมาะสำหรับการสำรองข้อมูลและการนำระบบขึ้นใช้งาน
นอกจากนี้ โดยค่าเริ่มต้นยังทำงานผ่าน SSH เพื่อใช้การเข้ารหัสแบบเดียวกัน
การใช้ rsync เบื้องต้น
ชุดแฟล็กที่ใช้กันทั่วไปคือ -avz:
-a— โหมดเก็บถาวร (คงสิทธิ์ เวลา และลิงก์สัญลักษณ์ไว้)-v— แสดงรายละเอียด-z— บีบอัดระหว่างการถ่ายโอน
คำสั่งนี้จะทำให้โฟลเดอร์ในเครื่องมีเนื้อหาตรงกับโฟลเดอร์บนเซิร์ฟเวอร์
rsync -avz ./site/ deploy@server:/var/www/site/เครื่องหมายทับท้ายพาธมีความสำคัญ
ใน rsync เครื่องหมายทับท้ายพาธของ ต้นทาง จะเปลี่ยนผลลัพธ์:
src/— คัดลอกเนื้อหาของ src ไปไว้ในปลายทางsrc— คัดลอกไดเรกทอรี src เองไปไว้ในปลายทาง
หากใช้ผิดจะทำให้เกิดโฟลเดอร์ซ้อนกัน ดังนั้นควรระบุให้รอบคอบ
rsync -avz src/ dest/ # contents of src into dest
rsync -avz src dest/ # creates dest/src/การทำสำเนาและการไม่รวมไฟล์
--delete จะทำให้ปลายทางเป็นสำเนาที่ตรงกันทุกประการ โดยลบไฟล์ที่ไม่มีอยู่ในต้นทาง ใช้ --exclude เพื่อข้ามพาธที่ไม่ต้องการ
ใช้ตัวเลือกเหล่านี้ร่วมกับ --dry-run ก่อนเสมอ
rsync -avz --delete --exclude '.git' --dry-run ./ deploy@server:/var/www/rsync ผ่านการตั้งค่า SSH แบบกำหนดเอง
หากต้องการใช้พอร์ตหรือคีย์ที่ไม่ใช่ค่ามาตรฐาน ให้ส่งคำสั่ง ssh อย่างชัดเจนด้วย -e วิธีนี้ยังทำงานร่วมกับทุกอย่างที่คุณกำหนดไว้ใน ~/.ssh/config ได้ด้วย
rsync -avz -e 'ssh -p 2222 -i ~/.ssh/deploy_key' ./ deploy@server:/var/www/แนวทางปฏิบัติที่ดี
ถ่ายโอนไฟล์อย่างปลอดภัยและมีประสิทธิภาพ:
- ใช้
scpสำหรับการคัดลอกครั้งเดียวอย่างรวดเร็ว - ใช้
sftpเมื่อต้องการเรียกดูไฟล์แบบโต้ตอบ - ใช้
rsyncสำหรับการซิงโครไนซ์และการสำรองข้อมูลเป็นประจำ - ใช้
--dry-runก่อน--deleteเสมอ
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับการถ่ายโอนที่ปลอดภัยของคุณ
ทบทวน
ขณะนี้คุณสามารถย้ายไฟล์อย่างปลอดภัยผ่าน SSH ได้แล้ว:
- scp — การคัดลอกอย่างง่าย (
-r,-P,-i) - sftp — เซสชัน
put/getแบบโต้ตอบ - rsync — การซิงโครไนซ์เฉพาะส่วนที่เปลี่ยนแปลงอย่างมีประสิทธิภาพด้วย
-avz,--delete,--exclude
ทั้งสามเครื่องมือใช้คีย์และการตั้งค่า SSH ที่มีอยู่เดิมของคุณ ทำให้ชุดเครื่องมือ SSH ขั้นสูงของคุณสมบูรณ์
คำถามที่พบบ่อย
บทเรียน “การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync”
ย้ายไฟล์ระหว่างเครื่องผ่านช่องทาง SSH ที่เข้ารหัส เปรียบเทียบ scp, sftp และ rsync เรียนรู้ตัวเลือกสำคัญ และเลือกเครื่องมือที่เหมาะกับการคัดลอกครั้งเดียว การถ่ายโอนแบบโต้ตอบ และการซิงค์อย่างมีประสิทธิ… คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การส่งต่อพอร์ต SSH (ภายในเครื่อง/ระยะไกล)
- อุโมงค์ SSH และพร็อกซี SOCKS
- ตัวแทน SSH และการเชื่อมต่อหลายทอด
- การถ่ายโอนไฟล์อย่างปลอดภัยด้วย SCP, SFTP และ rsync