การส่งไฟล์จาก Linux ไปยัง Windows ด้วย SCP Comand


2

ฉันรู้ว่ามีบางหัวข้อเกี่ยวกับเรื่องนี้ แต่ไม่มีพวกเขาช่วยฉันแก้ปัญหาของฉัน ฉันต้องการส่งไฟล์ข้อความธรรมดาจากเครื่อง Linux ไปยัง windows 10 PC โดยใช้คำสั่ง scp ดังนั้นนี่คือสิ่งที่ฉันพิมพ์ในคอนโซล Linux ของฉัน:

scp -P80  test.txt mywindowsusername@mywindowsip:/Desktop

ฉันใช้พอร์ต 80 เพราะไม่เช่นนั้นระบบจะบอกพอร์ต 22 ให้ฉันปิด

หลังจากที่ในขณะที่ฉันได้รับข้อผิดพลาด:

ssh_exchange_identification: Connection closed by remote host 

lost connection

ฉันยังลองใช้คำสั่งต่าง ๆ มากมายเช่นการคัดลอกไฟล์ไปยังโฟลเดอร์อื่นและใช้งาน

-r

หลังจากพอร์ต แต่ข้อผิดพลาดจะเหมือนกันเสมอ

ใครบางคนมีความคิดในการแก้ไขปัญหานี้หรือไม่?


3
คุณมีเซิร์ฟเวอร์ ssh หรือ scp ที่ทำงานบน windows หรือไม่? ไม่ว่าจะทำอะไรกับเรื่องความปลอดภัย
AndrolGenhald

เป็นจริงคำถามนี้เป็นของ SuperUser หรือ Linux / Unix แต่ที่กล่าวว่า: ดูเหมือนกฎไฟร์วอลล์ ตรวจสอบคอมพิวเตอร์ทั้งสองเครื่องว่าจะอนุญาตให้ส่ง / รับที่พอร์ต 22 แล้วลองอีกครั้ง ตรวจสอบให้แน่ใจว่ามีเซิร์ฟเวอร์ SSH ติดตั้งในเครื่อง Windows (มีบทช่วยสอนออนไลน์) คุณยังสามารถใช้ WinSCP แบบกราฟิกซึ่งทำงานได้ดีสำหรับฉันเสมอ
bashCypher

คำตอบ:


0

คุณได้กล่าวว่าระบบจะบอกคุณว่าพอร์ต 22 ถูกปิด แต่เห็นได้ชัดว่าระบบของคุณไม่ได้บอกคุณว่าพอร์ต 80 ปิดอยู่ นั่นหมายความว่าใน Windows PCคุณใช้งานซอฟต์แวร์ที่ฟังบนพอร์ต 80 แต่ไม่ใช่ในพอร์ต 22 (ซึ่งอาจเป็นเว็บเซิร์ฟเวอร์ในตอนนั้น) หรือว่าไฟร์วอลล์ในพีซี Windowsถูกกำหนดให้ปล่อยผ่าน ทราฟฟิกขาเข้าบนพอร์ต 80 แต่ไม่ใช่พอร์ต 22

ปกติแล้ว "เซิร์ฟเวอร์ scp" จะรวมอยู่ในเซิร์ฟเวอร์ SSH (อย่างน้อยฉันไม่เคยได้ยินใครสักคนที่ใช้เซิร์ฟเวอร์ SCP-standalone เพียงอย่างเดียว) ซึ่งหมายความว่าคุณอาจจะมีการติดตั้งเซิร์ฟเวอร์ SSH บนคอมพิวเตอร์ที่ใช้ Windows โปรดทราบว่า Windows ไม่ได้รวมเซิร์ฟเวอร์ดังกล่าว (อาจเว้นแต่ว่าคุณกำลังใช้ระบบย่อย Unix ของ Microsoft ที่พวกเขามาพร้อมกับ Windows รุ่นใหม่ แต่ฉันไม่รู้)

เมื่อติดตั้งเซิร์ฟเวอร์ SSH บนพีซี Windows ของคุณโปรดระวังว่าจะรับฟังพอร์ต 22 ตามค่าเริ่มต้น หากคุณต้องการให้ฟังบนพอร์ต 80 คุณจะต้องเปลี่ยนการกำหนดค่า วิธีการกำหนดค่าที่แน่นอนและขั้นตอนขึ้นอยู่กับซอฟต์แวร์เซิร์ฟเวอร์แน่นอน

ถ้าฉันเป็นคุณฉันจะทำสิ่งต่อไปนี้:

1) ตรวจสอบว่าเหตุใดพอร์ต 80 จึงเปิดในเครื่อง Windows ของคุณ (ตรวจสอบซอฟต์แวร์ที่ติดตั้งซึ่งอาจทำงานโดยไม่ตั้งใจตรวจสอบการตั้งค่าไฟร์วอลล์) หากพอร์ต 80 เปิดโดยไม่ได้ตั้งใจให้ปิด

2) ติดตั้งเซิร์ฟเวอร์ SSH บนเครื่อง Windows ของคุณ

3) กำหนดค่าไฟร์วอลล์ในเครื่อง Windows ของคุณเพื่อให้การเชื่อมต่อ TCP บนพอร์ต 22 อาจ จำกัด โฮสต์บางเครื่อง (เครื่อง Linux ของคุณ) และอาจได้รับอนุญาตเฉพาะบางโปรแกรมเท่านั้น (เซิร์ฟเวอร์ SSH)

มันควรจะทำงานแล้ว

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