จะดาวน์โหลดไฟล์จากบรรทัดคำสั่งได้อย่างไร ผ่าน ssh?


21

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

หมายเหตุ: เซิร์ฟเวอร์ระยะไกลคืออูบุนตูท้องถิ่นคือ Mac OS X

คำตอบ:


29

ใช้scp-command มันรันอยู่ด้านบนของ SSH ตัวอย่าง:

scp username@remote.host:/path/to/file localfile

นอกจากนี้ยังใช้งานได้อีกทางหนึ่ง

scp localfile username@host:/path/remotefile

สามารถตัดชื่อผู้ใช้เส้นทางและชื่อไฟล์ได้ (แต่ไม่ใช่ตัว:!)

ดังที่ Iain กล่าวว่า SFTP ทำงานได้เช่นกัน แต่ฉันมักจะชอบscpการcpใช้งานที่เหมือนกัน


พบได้น้อยกว่าฉันแน่ใจว่าและถูกต้องฉันหากฉันผิด แต่ฉันคิดว่า SCP ยังทำงานระยะไกลไประยะไกลถ้าคุณจริงๆต้อง: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD

คุณสามารถคัดลอกไดเรกทอรีได้หรือไม่
Andrew

คิดออก ... -r ไดเรกทอรีสำเนาซ้ำเกินไป
แอนดรู

ผมขอแนะนำให้เพิ่มตัวเลือกเมื่อคัดลอกไฟล์หรือโฟลเดอร์ด้วย-p scpมันคัดลอกไปที่คุณลักษณะของไฟล์ด้วย (timestamps และ flag) ฉันพบว่าฉันต้องการ-pบ่อยกว่าที่ฉันไม่ต้องการ!
joeytwiddle

คุณสามารถกำหนดเส้นทางจากระยะไกลไปยังระยะไกลผ่าน localhost โดยใช้-3แฟล็ก: scp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archivesสิ่งนี้มีประโยชน์หากคุณจำเป็นต้องใช้ไพรเวตคีย์สำหรับการเข้าถึงเซิร์ฟเวอร์ทั้งสองที่พบใน localhost เท่านั้น: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/แถบความคืบหน้าถูกปิดใช้งานสำหรับ -3
Dan Sandland

3

คุณสามารถใช้rsyncมันได้ มันสามารถทำงานผ่าน SSH


rsync -avvPเป็นที่ชื่นชอบสำหรับไฟล์และ / หรือโฟลเดอร์ แต่มีหนึ่งข้อเสียเปรียบ: จะต้องมีการติดตั้งบนเครื่องระยะไกล
joeytwiddle

หากคุณมีปัญหาในการเชื่อมต่อคุณอาจต้องผ่าน-e sshการบอก rsync เพื่อเชื่อมต่อผ่าน ssh
joeytwiddle

3

ฉันใช้ SFTP สำหรับสิ่งนี้ เป็นบรรทัดคำสั่งและใช้ความปลอดภัยเช่นเดียวกับ SSH


1

หากคุณไม่สามารถใช้scpหรือ SFTP คุณสามารถใช้งานtarมากกว่า SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

อันนี้ก็ดีถ้าคุณมีไฟล์ที่กระจัดกระจายซึ่งมิฉะนั้นจะ "ระเบิด"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.