ฉันจะคัดลอกไฟล์ด้วย SSH ได้อย่างไร


12

ฉันกำลังพยายามคัดลอกไฟล์จากคอมพิวเตอร์เครื่องอื่นไปยังคอมพิวเตอร์เครื่องอื่น (ทั้งที่ใช้ Ubuntu 9.10)

ดังนั้นฉันจึงไปที่คอมพิวเตอร์เครื่องอื่น ฉันcdไปที่ไดเรกทอรี; และฉันป้อนcp File.zip /home/me/Desktopตามที่file.zipอยู่ในไดเรกทอรีที่ฉันเพิ่งใช้cdกับ

ตอนนี้มันทำให้ฉันข้อความผิดพลาดต่อไปนี้:

cannot create regular file '/home/me/Desktop': no such file or directory

ฉันต้องทำอะไร?

คำตอบ:


27

นี่ไม่ใช่การเขียนโปรแกรมที่เกี่ยวข้อง แต่คุณสามารถใช้ scp เพื่อทำสิ่งนี้

scp file.zip remote-box-name:/path/to/destination/file.zip

หากชื่อผู้ใช้ของคุณแตกต่างกันในกล่องระยะไกลคุณจะต้องนำหน้า:

scp file.zip yourusername@remotebox:/path/to/destination/file.zip

และเพื่อดึงไฟล์คุณสามารถทำได้:

scp remotebox:/path/to/destination/file.zip file.zip

มันทำงานอย่างไรเมื่อฉัน sshed ลงในคอมพิวเตอร์เครื่องอื่นบนคอมพิวเตอร์ที่ฉันต้องการคัดลอกไฟล์ไป? เพราะเมื่อฉันลองscp file.zip me@xxx.xxx.xx.xxx:/home/me/Desktopมันบอกว่า 'การเชื่อมต่อถูกปฏิเสธ' อาจเป็นเพราะคอมพิวเตอร์เปิดอยู่ ทำอย่างไร?
Deniz Zoeteman

ไวยากรณ์คือsrc_file dest_fileโดยที่อาจเป็นเพียงชื่อไฟล์ในเครื่องคอมพิวเตอร์ (file.zip) หรือไฟล์ระยะไกล (me@xxx.xxx.xx.xx.xxx: / home / me / Desktop) ดังนั้นถ้าคุณต้องการที่จะดึงscp xxx.xxx.xx.xxx:/home/me/Desktop/file.zip file.zipไฟล์จากเครื่องระยะไกลไปยังเครื่องท้องถิ่นที่คุณจะทำอย่างไร โปรดทราบว่าท้องถิ่นและระยะไกลสัมพันธ์กับเครื่องที่คุณใช้งาน scp ดังนั้นถ้าคุณอยู่ในเครื่อง A, ssh ไปยังเครื่อง B และทำ scp, B เป็นท้องถิ่นและ A เป็นระยะไกล
KeithB

มันยังคงให้ข้อผิดพลาดเดียวกับที่ฉันแสดงในคำถาม
Deniz Zoeteman

เมื่อฉันพยายามที่จะทำจากเครื่องท้องถิ่นมันบอกว่า 'ไม่มีเส้นทางไปยังโฮสต์' หรืออะไรทำนองนั้น ... อาจเป็นเพราะมันได้รับการป้องกันด้วยรหัสผ่าน
Deniz Zoeteman

sftp เป็นอีกตัวเลือกที่ดีถ้าคุณพอใจกับ ftp และทำสิ่งนี้ด้วยตนเอง
Brian Knoblauch

8
  1. บนเครื่อง A เปิดหน้าต่างเทอร์มินัลสองหน้าต่าง

  2. บนเครื่อง A, ssh ไปยังเครื่อง B มองไปรอบ ๆ ค้นหาเส้นทางบนเครื่อง B ไปยังไฟล์ที่คุณต้องการคัดลอก

  3. บนเครื่อง A ชนิดหน้าต่างเทอร์มินัลที่สอง:

scp yourusername@remotebox:/path/to/destination/file.zip /home/me/Desktop

ควรคัดลอกไฟล์จากเครื่อง B ไปยังเครื่อง A ไปยังโฟลเดอร์ / home / me / Desktop (หากมีโฟลเดอร์อยู่ในเครื่อง A

คุณไม่สามารถคัดลอกไปยังเซสชัน ssh ที่มีอยู่ คุณต้องสร้างเซสชันที่สอง ตามที่คนอื่น ๆ ได้สังเกต:

  • yourusername ใช้สำหรับเครื่อง B และจำเป็นเฉพาะเมื่อชื่อผู้ใช้สำหรับเครื่อง B แตกต่างจากเครื่อง A

  • remotebox สามารถเป็นชื่อที่แก้ไขได้หรือที่อยู่ IP

ทางเลือก:

  • สถานที่ -> เชื่อมต่อกับเซิร์ฟเวอร์จากนั้นเลือกประเภทบริการของSSHจากเมนูแบบดึงลงของกล่องโต้ตอบเชื่อมต่อกับเซิร์ฟเวอร์

ถ้าฉันต้องการคัดลอกโฟลเดอร์ อย่างไร
shareef

0

คุณต้องใช้ scp เพื่อดึงหรือดันไฟล์ จากเครื่องหนึ่งไปอีกเครื่องหนึ่งคุณต้องทำอะไรบางอย่าง

scp File.zip username@ipaddress:/home/me/Desktop/file.zip



0

ติดตั้งเครื่องจากระยะไกลในพื้นที่ด้วยsshfsและคัดลอกไฟล์ด้วยเครื่องมือที่คุณชื่นชอบ, หอยโข่ง, konqueror, ปลาโลมา, mc เป็นต้น

หรือใช้fish://username@servernameใน konqueror หรือ dolphi ด้านบนเปิดตำแหน่งระยะไกล

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