คัดลอกไฟล์อย่างปลอดภัยใน Linux ด้วยคำสั่ง Scp

คัดลอกไฟล์อย่างปลอดภัยใน Linux ด้วยคำสั่ง Scp

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





วิธีเพิ่มกริ่งประตูใน Google Home

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





คำสั่ง Scp คืออะไร

Scp ย่อมาจาก สำเนาที่ปลอดภัย เป็นยูทิลิตีบรรทัดคำสั่งในระบบปฏิบัติการบน Linux ที่อนุญาตให้ผู้ใช้คัดลอกไฟล์ระหว่างโฮสต์ระยะไกลและโฮสต์ในเครื่อง เนื่องจากคำสั่งจะถ่ายโอนไฟล์ผ่านเครือข่ายไปยังโฮสต์อื่น จึงจำเป็นต้องมีการเข้าถึง SSH SSH (Secure Shell) เป็นโปรโตคอลที่ให้คุณจัดการบริการเครือข่ายได้อย่างปลอดภัยบนเครือข่ายใดๆ





คำสั่ง scp ยังสนับสนุนคุณลักษณะเพิ่มเติมบางอย่าง เช่น การระบุพารามิเตอร์การพิสูจน์ตัวตน การเปลี่ยนพอร์ต การถ่ายโอนไดเรกทอรี และอื่นๆ

ทำไม Scp ถึงดีกว่าวิธีการอื่น

โดยปกติแล้ว Scp จะเป็นที่ต้องการมากกว่าวิธีการถ่ายโอนไฟล์อื่นๆ เนื่องจากในระหว่างการถ่ายโอน การเชื่อมต่อระหว่างโฮสต์ทั้งสองจะได้รับการเข้ารหัส โปรโตคอล SSH มีหน้าที่ในการเข้ารหัสไฟล์ รหัสผ่าน และรายละเอียดที่ละเอียดอ่อนอื่นๆ



วิธีการถ่ายโอนอื่นๆ เช่น Telnet หรือ FTP ไม่มีการเข้ารหัสใดๆ นอกจากนี้ คีย์คู่ผู้ใช้/รหัสผ่านยังถูกบันทึกเป็นข้อความธรรมดาซึ่งไม่ใช่แนวทางปฏิบัติที่ดีเลย แครกเกอร์สามารถเข้าถึงข้อมูลของคุณได้อย่างง่ายดายโดยการดมกลิ่นเครือข่ายของคุณ

วิธีถ่ายโอนไฟล์อย่างปลอดภัยโดยใช้Scp

การใช้คำสั่ง scp คุณสามารถถ่ายโอนไฟล์ระหว่าง:





  1. โลคัลโฮสต์และรีโมตโฮสต์
  2. รีโมตโฮสต์และระบบโลคัล
  3. สองโฮสต์ระยะไกล

ไวยากรณ์พื้นฐาน

ไวยากรณ์พื้นฐานของคำสั่ง scp คือ:

scp [options] [source] [destination]

โอนย้ายจากโลคัลโฮสต์ไปยังระบบรีโมต

หากคุณเป็นผู้ดูแลระบบเซิร์ฟเวอร์ การถ่ายโอนไฟล์ระหว่างโฮสต์ภายในเครื่องและโฮสต์ระยะไกลอาจเป็นประโยชน์สำหรับคุณ ในการอัพโหลดไฟล์ชื่อ document.txt ไปยังโฮสต์ระยะไกล:





scp /home/document.txt user@remote-host:/home/document.txt

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

เส้นทางปลายทางแยกจากรายละเอียดโฮสต์ระยะไกลโดยใช้ ลำไส้ใหญ่ อักขระ ( : ). โปรดทราบว่าผู้ใช้ต้องมีอยู่บนเซิร์ฟเวอร์ระยะไกลหากคุณต้องการโอนไฟล์ให้สำเร็จ นอกจากนี้ ผู้ใช้ควรมีสิทธิ์เขียนในไดเร็กทอรีที่คุณต้องการบันทึกไฟล์

หลังจากออกคำสั่งดังกล่าวแล้ว ระบบจะถามรหัสผ่านของผู้ใช้ระยะไกล พิมพ์รหัสผ่านแล้วกด เข้า .

user@remote-host's password:

หากรหัสผ่านถูกต้อง การถ่ายโอนไฟล์จะเริ่มต้น หากคุณป้อนรหัสผ่านไม่ถูกต้อง จะเกิดข้อผิดพลาดขึ้น

ก่อนพยายามคัดลอกไฟล์โดยใช้คำสั่ง scp ตรวจสอบให้แน่ใจว่ารายละเอียดโฮสต์ระยะไกลและรหัสผ่านถูกต้องโดยการล็อกอินเข้าสู่เซิร์ฟเวอร์โดยใช้ SSH

จากโฮสต์ระยะไกลไปยังโฮสต์ท้องถิ่น

ในการคัดลอกไฟล์จากรีโมตโฮสต์ไปยังโลคัลโฮสต์ เพียงแค่เปลี่ยนพาธต้นทางและปลายทางในคำสั่ง scp

scp user@remote-host:/home/document.txt /home/document.txt

ระบบจะถามรหัสผ่านของผู้ใช้ระยะไกลอีกครั้ง ป้อนรหัสผ่านเพื่อยืนยันกระบวนการโอน

ระหว่างสองโฮสต์ระยะไกล

ในการคัดลอกไฟล์ระหว่างสองเซิร์ฟเวอร์ระยะไกล ทั้งพาธต้นทางและปลายทางต้องเป็นไดเร็กทอรีบนรีโมตโฮสต์

scp user1@remote-host1:/home/document.txt user2@remote-host2:/home/folder/document.txt

อีกครั้งพร้อมท์จะปรากฏขึ้นเพื่อขอให้คุณป้อนรหัสผ่านสำหรับผู้ใช้ทั้งสองแต่ละคน

ตัวเลือกบรรทัดคำสั่ง Scp

นอกเหนือจากการถ่ายโอนไฟล์จากต้นทางไปยังปลายทางแล้ว scp ยังมีตัวเลือกเพิ่มเติมที่สามารถเรียกใช้ได้โดยใช้อาร์กิวเมนต์เฉพาะ

เปลี่ยนพอร์ต

โดยค่าเริ่มต้น คำสั่ง scp จะทำงานบนพอร์ต 22 อย่างไรก็ตาม คุณสามารถเขียนทับการกำหนดค่าเริ่มต้นและเปลี่ยนพอร์ตได้เสมอ NS -NS ธงช่วยให้คุณทำเช่นเดียวกัน

ในการใช้หมายเลขพอร์ตอื่นขณะคัดลอกไฟล์จากโลคัลโฮสต์ไปยังรีโมตโฮสต์:

scp -P 35 /home/document.txt user@remote-host:/home/document.txt

คำสั่งดังกล่าวจะทำให้แน่ใจว่าคำสั่ง scp ใช้พอร์ต 35 สำหรับการถ่ายโอนไฟล์

วิธีโอนลิขสิทธิ์ windows 10

รักษาการประทับเวลาของไฟล์

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

หากคุณต้องการคงการประทับเวลาเหล่านี้ไว้ด้วยเหตุผลใดก็ตาม ให้ใช้ -NS ธง. สังเกตว่า -NS และ -NS ธงมีความแตกต่างกัน

scp -p /home/document.txt user@remote-host:/home/remote/document.txt

คัดลอกไดเรกทอรี

หากคุณต้องการคัดลอกไดเร็กทอรีแทนไฟล์ ให้ใช้คำสั่ง -NS ตั้งค่าสถานะเพื่อถ่ายโอนไดเร็กทอรีแบบเรียกซ้ำ

scp -r user@remote-host:/home/videos /home/videos

โหมดระงับ

เมื่อคุณป้อนคำสั่ง scp เพื่อถ่ายโอนไฟล์ เทอร์มินัลจะแสดงแถบความคืบหน้าและข้อมูลที่เกี่ยวข้องอื่นๆ บนหน้าจอ อย่างไรก็ตาม คุณสามารถเลือกที่จะไม่ดูข้อมูลนี้โดยใช้ปุ่ม -NS ธง.

scp -q user@remote-host:/home/document.txt /home/document.txt

ใช้ไฟล์ Keypair สำหรับการตรวจสอบสิทธิ์

หากคุณต้องการตรวจสอบการเชื่อมต่อโฮสต์ระยะไกลโดยใช้ไฟล์คู่คีย์ ให้ระบุเส้นทางของไฟล์โดยใช้ปุ่ม -ผม ธง.

scp -i /home/keypair.pem /home/document.txt user@remote-host:/home/document.txt

ผูกธงหลายธงไว้ด้วยกัน

เช่นเดียวกับคำสั่ง Linux อื่น ๆ คุณสามารถเชื่อมโยงหลายอาร์กิวเมนต์เข้าด้วยกันเพื่อให้คำสั่ง scp มีประสิทธิภาพมากขึ้น

ตัวอย่างเช่น ในการเปลี่ยนพอร์ตและถ่ายโอนไฟล์ในโหมดระงับ:

วิธีริปบลูเรย์ลงคอม
scp -P 34 -q user@remote-host:/home/document.txt home/document.txt

หากคุณต้องการใช้ไฟล์คู่คีย์สำหรับการตรวจสอบสิทธิ์และจำเป็นต้องคัดลอกไดเร็กทอรีไปยังพาธปลายทาง:

scp -i /home/secret/keypair.pem -r /home/folder user@remote-host:/home/folder

การถ่ายโอนไฟล์ระหว่างระบบลินุกซ์

ในโลกของอินเทอร์เน็ต การถ่ายโอนไฟล์ระหว่างระบบได้กลายเป็นงานที่สำคัญ สำหรับผู้ที่ดูแลเซิร์ฟเวอร์ Linux บางครั้งการสำรองข้อมูลของเซิร์ฟเวอร์ก่อนที่จะออกคำสั่งเฉพาะเป็นสิ่งสำคัญ ในสถานการณ์เช่นนี้ คำสั่ง scp จะมีประโยชน์

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

แบ่งปัน แบ่งปัน ทวีต อีเมล แผ่นโกงการอ้างอิงคำสั่ง Linux

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

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • การจัดการไฟล์
  • ลินุกซ์
  • SSH
เกี่ยวกับผู้เขียน Deepesh Sharma(79 บทความที่ตีพิมพ์)

Deepesh เป็นบรรณาธิการรุ่นเยาว์สำหรับ Linux ที่ MUO เขาเขียนคู่มือข้อมูลบน Linux โดยมุ่งหวังที่จะมอบประสบการณ์อันแสนสุขแก่ผู้มาใหม่ทุกคน ไม่แน่ใจเกี่ยวกับภาพยนตร์ แต่ถ้าคุณต้องการพูดคุยเกี่ยวกับเทคโนโลยี เขาเป็นคนของคุณ ในเวลาว่าง คุณจะพบว่าเขาอ่านหนังสือ ฟังเพลงแนวต่างๆ หรือเล่นกีตาร์

เพิ่มเติมจาก Deepesh Sharma

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก