scp ส่งกลับข้อผิดพลาด“ <บรรทัดใหม่>” ที่ไม่คาดคิด


11

ฉันพยายามscpไฟล์จากเซิร์ฟเวอร์ไปยังเครื่องของฉัน แต่มันทำให้ฉันมีข้อผิดพลาดนี้:

protocol error: unexpected <newline>

นี่คือไวยากรณ์ของฉัน:

scp user@server:/path/to/file .

มันไม่ทำงานบนเซิร์ฟเวอร์นี้ แต่จากนั้นฉันลองคำสั่งเดียวกันบนเซิร์ฟเวอร์อื่นของฉันดังนั้นฉันสามารถสันนิษฐานได้ว่ามันผิดปกติกับเซิร์ฟเวอร์ของฉันเท่านั้นไม่ใช่ไวยากรณ์ของscpคำสั่ง

ความคิดใด ๆ


กรุณาโพสต์ของคุณ~/.bashrcบนเซิร์ฟเวอร์
quanta

ขอบคุณสำหรับความช่วยเหลือควอนตัม ฉันแก้ไข. bashrc ก่อนที่จะเห็นโพสต์ของคุณ ปัญหาคือฉันมีคำสั่ง echo ในนั้น ขอบคุณสำหรับความช่วยเหลือ!
srchulo

@ ไฟล์ฉันพยายาม แต่ฉันต้องรอ 8 ชั่วโมงเพราะฉันมีชื่อเสียงน้อยกว่า 100 ฉันจะโพสต์เป็นคำตอบเมื่อเวลานั้นหมด
srchulo

FYI ฉันพบปัญหานี้แล้วและ ... <sheepish> คำสั่ง scp ของฉันไม่ถูกต้อง </sheepish> ดังนั้นอาจเป็นได้
ognockocaten

คำตอบ:


19

หนึ่งในสคริปต์การเข้าสู่ระบบของคุณ (.bashrc / .cshrc / etc.) กำลังส่งข้อมูลไปยังเทอร์มินัลเมื่อไม่ควรใช้ นี่เป็นสาเหตุที่ทำให้เกิดข้อผิดพลาดเมื่อเชื่อมต่อและเตรียมพร้อมที่จะคัดลอกเมื่อเริ่มรับข้อมูลเพิ่มเติมที่ไม่คาดคิด ลบเอาต์พุตที่สร้างที่นี่

คุณสามารถตรวจสอบว่าเทอร์มินัลของคุณเป็นแบบโต้ตอบและส่งออกข้อความโดยใช้รหัสต่อไปนี้ใน bashrc มีบางสิ่งที่เทียบเท่าสำหรับกระสุนอื่น ๆ เช่นกัน:

if shopt -q login_shell; then
    [any code that outputs text here]
fi

2

พบทางออก ไฟล์. bashrc ของฉันและ. bash_logout ถูกตั้งค่าให้สะท้อนข้อมูลกับฉันทุกครั้งที่ฉันลงชื่อเข้า / ออก เห็นได้ชัดว่าการขึ้นบรรทัดใหม่นั้นให้ scp บางประเด็น ฉันแสดงความคิดเห็นต่องบ echo ของฉันและนั่นก็หลอกลวง!


-1

ฉันมีปัญหาที่คล้ายกัน เหตุผลก็คือ: ฉันมีคำสั่ง "echo" บางข้อความ "" ใน. bashrc ของฉันสำหรับการพิมพ์สถานะของพร็อกซี่ และ "echo" ข้อความบางอย่าง "" นี้ทำให้ scp ล้มเหลว ดังนั้นโดยการลบ "echo" ในไฟล์. bashrc ฉันจะถ่ายโอนไฟล์โดยใช้ scp


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