ฉันถ่ายโอนไฟล์โดยใช้คำสั่งนี้
scp <localfile> user@host:<destination>
คำสั่งดังกล่าวใช้งานได้เฉพาะเมื่อฉันไม่ได้เข้าสู่เซิร์ฟเวอร์
ฉันจะถ่ายโอนไฟล์โลคัลไปยังเครื่องโฮสต์ได้อย่างไรเมื่อฉัน ssh'd แล้ว?
ฉันใช้มัน ssh user@hostname
ฉันถ่ายโอนไฟล์โดยใช้คำสั่งนี้
scp <localfile> user@host:<destination>
คำสั่งดังกล่าวใช้งานได้เฉพาะเมื่อฉันไม่ได้เข้าสู่เซิร์ฟเวอร์
ฉันจะถ่ายโอนไฟล์โลคัลไปยังเครื่องโฮสต์ได้อย่างไรเมื่อฉัน ssh'd แล้ว?
ฉันใช้มัน ssh user@hostname
คำตอบ:
เป็นคำถามที่ดี scp
อีกครั้ง แต่ทางตรงข้าม ฉันทำมันและนี่มันคือ:
chris@local ~$ ls hos*
hosts
chris@local ~$ ssh remote
Last login: Fri Mar 8 15:52:25 2013 from local
chris@remote ~$ scp chris@local:hos* .
chris@local's password:
hosts 100% 1850 1.8KB/s 00:00
chris@remote ~$ ls hos*
hosts
chris@remote ~$
แก้ไขเพื่อเพิ่ม:ตามที่ระบุไว้ในความคิดเห็นสิ่งนี้ต้องการให้คอมพิวเตอร์ระยะไกลสามารถเข้าถึงเครื่องคอมพิวเตอร์ได้ และต้องติดตั้งและเรียกใช้ sshd หรือ (openssh-server) บนเครื่องโลคัล
มันจะช่วยให้รู้ว่าสิ่งที่คุณกำลังทำงานบนเครื่องโฮสต์ หากคุณใช้ Linux
scp user@host:/path/myfile .
ควรทำงาน.
user@host
ดูเหมือนจะอ้างถึงคอมพิวเตอร์เครื่องใดที่คุณไม่ได้ควบคุมอยู่ในปัจจุบัน ดังนั้นเมื่อ OP ไม่ได้เข้าสู่คอมพิวเตอร์ระยะไกลแสดงว่าuser@host
เป็นคอมพิวเตอร์ระยะไกล เมื่อ OP ถูกล็อกอินเข้าสู่คอมพิวเตอร์ระยะไกลแสดงว่าuser@host
เป็นคอมพิวเตอร์ในระบบ หากสมมติฐานของฉันถูกต้องแล้วคำตอบนี้เหมาะสม
หากคุณมีทางกลับไปที่เครื่องท้องถิ่นของคุณ (เครื่องท้องถิ่นของคุณสามารถเข้าถึงได้จากระยะไกล - โดยปกติเมื่อทั้งสองเครื่องอยู่ใน LAN เดียวกัน) การใช้ scp จากเครื่องระยะไกลควรทำงาน ( scp local:/path-to-file .
)
หากเครื่องท้องถิ่นของคุณไม่สามารถเข้าถึงได้จากระยะไกล (มักจะเป็นจริงถ้าระยะไกลของคุณเป็น VPS บนอินเทอร์เน็ตและเครื่องท้องถิ่นของคุณมี IP แบบไดนามิก) วิธีที่ดีที่สุดของคุณคือการเปิด terminal ใหม่บนเครื่องท้องถิ่นและคัดลอกไฟล์
อีกวิธีหนึ่งที่ซับซ้อนกว่าและไม่จำเป็นต้องคัดลอกไฟล์เพียงอย่างเดียวคือการทำ VPN ระหว่างเครื่อง (หรือเครือข่าย) ดังนั้นทั้งสองเครื่องจะสามารถเข้าถึงได้จากอีกเครื่องหนึ่งและคุณสามารถใช้ scp จากเครื่องหนึ่งหรืออีกเครื่องหนึ่ง
ในขณะที่เข้าสู่ระบบจากระยะไกล (ง่ายกว่าเพียงแค่ cd ลงในตำแหน่งไฟล์) sudo scp file_location / file_name user @ host: file_location
ในขณะที่ออกจากระบบระยะไกล sudo scp authoried_user @ hostname: file_location / file_name new_location_on_local_machine
FOOTNOTE: จำไว้ว่าในขณะที่ออกจากระบบระยะไกลหากเป็นอาคารใหม่รหัสผ่านแรกจะเป็นรหัสผ่าน sudo รหัสผ่านที่สองจะเป็นรหัสผ่านผู้ใช้ที่ได้รับอนุญาต หากคุณเคย sudo-ed ก่อนหน้านี้ในเทอร์มินัลนั้นแล้วมันเป็นเพียงรหัสผ่านผู้ใช้ที่ได้รับอนุญาตที่คุณต้องการ ดูสิ่งเหล่านี้มันทำให้ยุ่งยาก