ฉันจะถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ของฉันโดยใช้ PuTTY ได้อย่างไร


16

เมื่อเรียก SCP ใน PuTTY บนกล่อง Win7 ของฉันมันไม่อนุญาตให้ฉันใช้ C: / แต่ฉันก็ไม่รู้เหมือนกันว่าเครื่องของฉันอยู่ที่ไหนมันจะค้นหาไฟล์เป็นค่าเริ่มต้น ไม่มีไดเรกทอรีโปรแกรมหรือไดเรกทอรีผู้ใช้ที่ใช้งานได้ ตัวอย่างเช่นฉันบันทึก file.txt ถัดจาก PuTTY.exe และใน C: \ Users \ Me แต่การเรียก SCP file.txt file.txt ใน PuTTY ล้มเหลวทั้งสองครั้งด้วย

cp: ไม่สามารถสถิติ 'file.txt'

ดังนั้นฉันจะถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ของฉันโดยใช้ PuTTY ได้อย่างไร

แก้ไข: นอกจากนี้การโทรSCP file.txt myserver:file.txtให้ข้อผิดพลาดที่คล้ายกัน:file.txt: No such file or directory


คุณรู้เส้นทางเต็มไปยัง file.txt ของคุณหรือไม่ ทำ SCP เต็มเส้นทางไปยัง file.txt myserver: file.txt

ขอบคุณ shadow_boi แต่นั่นเป็นปัญหา: การใช้เส้นทางแบบเต็มหมายถึงรวมถึง c: \ ซึ่งทำให้ฉันมีข้อผิดพลาด ssh: ไม่สามารถแก้ไขชื่อโฮสต์ c: ชื่อหรือบริการที่ไม่รู้จัก
Trindaz

2
ฉันเดาว่าคุณเข้าสู่เซิร์ฟเวอร์โดยใช้ putty และพิมพ์ในความคิดเห็น CP ตามที่คุณกล่าวถึงข้างต้น? นั่นคือปัญหา ตอนนี้คุณอยู่ที่เซิร์ฟเวอร์ดังนั้นเมื่อคุณพิมพ์ C: เซิร์ฟเวอร์ไม่มีไดรฟ์ c

1
ฉันไม่คิดว่าฉาบคนเดียวสามารถทำงานได้ WinSCP เป็นเครื่องมือ GUI ที่ดีสำหรับการคัดลอกไฟล์อย่างปลอดภัย Putty ทำงานได้ดีมากสำหรับงานนี้โดยใช้เครื่องมือบรรทัดคำสั่งที่เรียกว่า pscp

ฉันมีปัญหาในการใช้ pscp เพื่อคัดลอกไฟล์ผ่านเซิร์ฟเวอร์ระดับกลาง คำถามนี้เป็นฐานของฉันในการหา คำแนะนำแบบเต็มเกี่ยวกับการตั้งคำถามนี้ไปยังขั้นตอนต่อไปอยู่ที่นี่superuser.com/q/577663/57649
สกอตต์

คำตอบ:


13

คุณเคยลองสิ่งที่ชอบไหม

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

คู่มือสำหรับสีโป๊วให้เห็น

ในการส่งไฟล์ (a) ไปยังเซิร์ฟเวอร์ระยะไกล:

pscp [options] source [source...] [user@]host:target

ดังนั้นหากต้องการคัดลอกโลคัลไฟล์c:\documents\foo.txtไปยังเซิร์ฟเวอร์example.comในฐานะผู้ใช้fred ไปยังไฟล์ที่/tmp/fooคุณจะพิมพ์:

pscp c:\documents\foo.txt fred@example.com:/tmp/foo


ป.ล.

หน้าดาวน์โหลด Puttyช่วยให้คุณดาวน์โหลดputty.zip- ชุดที่สมบูรณ์ของเครื่องมือสีโป๊วหรือคุณก็สามารถดาวน์โหลดเครื่องมือที่คุณต้องการ (ซึ่งในกรณีนี้คุณอาจได้ดาวน์โหลด putty.exe แต่ยังไม่ได้มีการดาวน์โหลด pscp.exe)


1
ฉันมีผงสำหรับอุดรูติดตั้ง ฉันดูเหมือนจะไม่มี pscp ให้ใช้งานได้ทั้งภายใน putty shell หรือภายใน shell ท้องถิ่นของฉัน คุณช่วยส่องแสงอีกเล็กน้อยได้ไหม คุณรัน pscp จากที่ไหน ไชโย
JonnyRaa

1
@JonnyLeeds: ฉันเรียกใช้ในพรอมต์คำสั่ง Windows (cmd) จากไดเรกทอรีการติดตั้ง Putty เช่นC:\Program Files (x86)\PuTTY\pscp.exeในกรณีของฉัน คุณสามารถใส่เส้นทางแบบเต็มในเครื่องหมายคำพูดคู่ (เพราะช่องว่างในนั้น) หรือเพิ่มไดเรกทอรีลงใน% PATH% ของคุณ (ดูคำตอบอื่น ๆ ที่นี่สำหรับวิธีการทำเช่นนั้น)
RedGrittyBrick

1
สวัสดีขอบคุณสำหรับการตอบสนอง แต่สิ่งที่ฉันมีในโฟลเดอร์ putty ของฉันคือ putty.exe, puttygen.exe และไฟล์ ppk
JonnyRaa

1
@JonnyLeeds: คุณสามารถดาวน์โหลดได้เพียงแค่ pscp.exe จากchiark.greenend.org.uk/~sgtatham/putty/download.htmlหรือดาวน์โหลด putty.zip ที่มีชุด Putty.zip รุ่นสมบูรณ์และสอดคล้องกันและแทนที่ ชุดเบาบางคุณมี
RedGrittyBrick

คำตอบที่ดี อีกชิ้นอาหารอันโอชะ: คุณมักจะสามารถใช้ช่วงเวลาหลังจากลำไส้ใหญ่ของสถานที่ห่างไกลหากคุณไม่ทราบว่าคุณต้องการที่จะไปที่ไหนไฟล์ ตัวอย่างเช่น: pscp -l ชื่อผู้ใช้เซิร์ฟเวอร์ C: \ dir \ file.txt:
TOOGAM

6

โซลูชันที่ไม่ใช้ PuTTY: เชื่อมต่อกับเซิร์ฟเวอร์ด้วย FileZilla โดยใช้ SFTP เพื่อถ่ายโอนไฟล์


5

ไม่มีวิธีที่จะเริ่มต้นการถ่ายโอนไฟล์กลับไปที่ / จาก Windows ในพื้นที่จากเซสชัน SSH ที่เปิดในหน้าต่าง PuTTY

แม้ว่า PuTTY รุ่นล่าสุดจะรองรับการแบ่งปันการเชื่อมต่อ

ในขณะที่คุณยังคงต้องเรียกใช้ไคลเอนต์การถ่ายโอนไฟล์ที่เข้ากันได้ ( pscpหรือหรือpsftp) ไม่จำเป็นต้องเข้าสู่ระบบใหม่มันโดยอัตโนมัติ (ถ้าเปิดใช้งาน) ทำให้การใช้งานของเซสชัน PuTTY ที่มีอยู่

ต้องการเปิดใช้งานเห็นร่วมกัน:
การแชร์การเชื่อมต่อระหว่าง SSH เครื่องมือฉาบ


ทางเลือกหนึ่งคือการใช้WinSCP เป็นลูกค้า ขณะที่คุณเรียกดูไซต์ระยะไกลคุณสามารถเปิดเทอร์มินัล SSH ไปยังไซต์เดียวกันได้ตลอดเวลาโดยใช้คำสั่งเปิดเป็น PuTTY

ดูเปิดเซสชันในฉาบ

ด้วยการตั้งค่าเพิ่มเติมคุณสามารถทำให้ PuTTY นำทางโดยอัตโนมัติไปยังไดเรกทอรีเดียวกันกับที่คุณเรียกดูด้วย WinSCP

ดูเปิดฉาบในไดเรกทอรีเดียวกัน

(ฉันเป็นผู้เขียน WinSCP)


0

ฉันหา pscp ไม่ได้ตามคำแนะนำข้างต้นและจบลงด้วยการใช้ WinScp

มันเป็นโปรแกรมฝั่งไคลเอ็นต์ที่มี GUI ซึ่งรับการกำหนดค่าโป๊วของคุณ


chiark.greenend.org.uk/~sgtatham/putty/download.htmlเสนอ pscp.exe และไฟล์ psftp.exe ที่คล้ายกัน the.earth.li/~sgtatham/putty/latest/x86/... (สำหรับรุ่น 0.63 ซึ่งเป็นรุ่นล่าสุดในขณะที่เขียนนี้) อาจจะง่ายสำหรับคนที่ชอบความเป็นอยู่เดินผ่านขั้นตอนการติดตั้งง่ายใช้ GUI ในขณะที่ไฟล์ putty.zip ยังมี putty.exe และ pscp.exe และ psftp.exe ด้วย
TOOGAM

0
  1. ใน PSFTP เปิดโฟลเดอร์ที่คุณต้องการใส่ไฟล์
    เช่น ชื่อไฟล์ cd
  2. ในประเภทบรรทัดคำสั่ง: lcd pathtofolder
    Ex lcd C: \ Users \ Lyn \ Pictures
  3. คลิก enter และพิมพ์: ใส่ชื่อไฟล์
    เช่น ใส่ lynhw1.pdf
  4. คลิกที่ Enter และไฟล์ควรจะโอน

หวังว่าจะได้ผลกับคุณเช่นเดียวกับฉัน
หมายเหตุ: ฉันทำสิ่งนี้ใน PSFTP โดยใช้ Putty

"PSFTP ไคลเอนต์ PuTTY SFTP เป็นเครื่องมือสำหรับการถ่ายโอนไฟล์อย่างปลอดภัยระหว่างคอมพิวเตอร์ที่ใช้การเชื่อมต่อ SSH" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

ดาวน์โหลด PSFTP บนhttp://www.putty.org/หน้าเว็บ ภายใต้การดาวน์โหลดโป๊วที่นี่


-2

หากคุณต้องการถ่ายโอนไฟล์ชนิดนี้โดยอัตโนมัติผ่าน.bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(ซึ่งinput.lstเป็นไฟล์ข้อความที่มีเป้าหมายในรายการ)


แม้ว่าอาจเกี่ยวข้องกับหัวข้อแต่สิ่งนี้ไม่ได้ตอบคำถาม
ฉันพูดว่า Reinstate Monica

echo yนอกจากนี้ยังไม่แนะนำให้คนที่จะสุ่มสี่สุ่มห้ายอมรับคีย์โฮสต์ที่ใช้ คุณสูญเสียความปลอดภัยโดยการทำเช่นนั้น
Martin Prikryl

mhh เห็นด้วย "echo y" เป็นปัญหาด้านความปลอดภัย สำหรับความเกี่ยวข้องฉันเพิ่งคัดลอกไฟล์นั้นคิดไปอีกขั้นเพราะฉันเคยอยู่ในสถานการณ์ที่เลวร้ายมาก
Nin Kan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.