เมื่อพยายามที่จะ แมว
ท่อไปที่ จุ๊ๆ
จากเซิร์ฟเวอร์โหนด linux ไปยังแล็ปท็อป windows 10 ฉันได้รับข้อความนี้:
Pseudo-terminal จะไม่ถูกจัดสรร เนื่องจาก stdin ไม่ใช่เทอร์มินัล
ทำไมสิ่งนี้ถึงเกิดขึ้น?
สิ่งนี้หมายความว่า Pseudo-terminal จะไม่ได้รับการจัดสรร?
ฉันเดาว่า "Pseudo-terminal เป็นเทอร์มินัลวางไข่และจะไม่ได้รับพาร์ติชั่นดิสก์" อาจจะ ???
นี่หมายความว่าอย่างไร stdin ไม่ใช่เทอร์มินัล
stdin ใดที่อ้างถึงเซิร์ฟเวอร์หรือไคลเอนต์ ฉันถามคำถามนี้เพราะมันอ่านว่าปัญหาอาจจะอยู่ในแล็ปท็อปที่ใช้ Windows; และปัญหาของฉันคือข้อผิดพลาดนี้ทำให้โหนดไม่สามารถเขียนไปยังแล็ปท็อปได้
เรื่องราว:
ฉันใช้ linux บนโหนดมาหลายเดือนแล้ว ใช้ linux ในระบบคลาวด์และ windows 10 ที่บ้าน
ฉันสามารถ scp
สำเร็จทุกครั้งตั้งแต่ windows ถึง linux ตอนนี้ฉันต้องการดึงไฟล์ลงใน VSCode จาก linux เพื่อให้ฉันสามารถทำสิ่งต่าง ๆ กับพวกเขาบน gui ซึ่งไม่มีโหนดใด ๆ ของ linux ฉันคิดว่ามันควรจะง่าย ssh-keygen จากโหนด linux และ scp คีย์ pub ไปยังแล็ปท็อป windows สิ่งนี้ไม่เคยทำงาน สิ่งนี้หมดเวลาเสมอ ไม่มีข้อความแสดงข้อผิดพลาด ถึงกระนั้น "การเชื่อมต่อที่ขาดหายไป" คือข้อความตอบกลับ
ดังนั้นฉันจึงพยายาม แมว
ท่อไปที่ จุ๊ๆ
และฉันได้รับข้อความแสดงข้อผิดพลาด pseudo-terminal จะไม่ถูกจัดสรรเนื่องจาก stdin ไม่ใช่ cli
. ข้อผิดพลาดนี้จะกลับมาทันที และหลังจากนั้นบางคนรอ ข้อความแจ้งกลับมาพร้อมกับข้อความหมดเวลา
ฉันเชื่อข้อความนี้จาก จุ๊ๆ
เกิดขึ้นเนื่องจากเหตุผลเดียวกันกับการหมดเวลาจาก scp
แม้ว่า scp
ไม่มีข้อความแสดงข้อผิดพลาดบอกฉันว่าฉันผิดที่นี่ถ้าคุณทำได้ ฉันยังคิดว่าถ้าฉันสามารถเข้าใจข้อความแสดงข้อผิดพลาดนี้ที่กำหนดโดย จุ๊ๆ
มันอาจจะชี้ให้ฉันเห็นทิศทางที่ถูกต้องในการทดสอบต่อไป นั่นคือเหตุผลที่คำถาม "stdin ใดที่ถูกอ้างถึง เซิร์ฟเวอร์หรือไคลเอ็นต์"
เมื่อฉันเริ่มตั้งค่าอุโมงค์ ssh จากโหนด linux ไปยังแล็ปท็อป windows ฉันพยายาม scp คีย์สาธารณะไปยังแล็ปท็อป windows และจะได้รับการหมดเวลาทุกครั้ง หลายครั้ง! ดังนั้นฉันจึงพูดกับตัวเองว่าเพียงแค่พกรหัสสาธารณะด้วยตนเอง และฉันได้วางไว้ตามที่คาดไว้ จากนั้นฉันแปลงการทดสอบเพื่อใช้ไฟล์ทดสอบนี้ - test_scpncat.txt
. มันเป็นเพียงไฟล์ข้อความ "hello world"
นี่คือข้อความที่ฉันได้รับเมื่อตั้งค่าคีย์ด้วย scp
.
ssh: เชื่อมต่อกับโฮสต์ <ip_address> พอร์ต 22: หมดเวลาการเชื่อมต่อ สูญเสียการเชื่อมต่อ
นี่คือข้อความที่ฉันได้รับหลังจากตั้งค่าคีย์ด้วยตนเองแล้ว scp
และไฟล์ทดสอบ:
ssh: เชื่อมต่อกับโฮสต์ <ip_address> พอร์ต 22: หมดเวลาการเชื่อมต่อ สูญเสียการเชื่อมต่อ
นี่คือข้อความที่ฉันได้รับหลังจากตั้งค่าคีย์ด้วยตนเองแล้ว แมว | จุ๊ๆ
และไฟล์ทดสอบ:
Pseudo-terminal จะไม่ถูกจัดสรร เนื่องจาก stdin ไม่ใช่เทอร์มินัล
ssh: เชื่อมต่อกับโฮสต์ <ip_address> พอร์ต 22: การเชื่อมต่อหมดเวลา
นี่คือสคริปต์ทดสอบ อาจมีคนถามว่า:
$ scp ~/test_scpncat.txt User@<ip_address>:C:\Users\User\test_scpncat.txt
$ cat ~/test_scpncat.txt | ssh User@<ip_address> >> C:\Users\user\test_scpncat.txt
ขอบคุณล่วงหน้า!