Score:0

โปรแกรมดูระยะไกลของ virt-manager: ล้มเหลวในการเชื่อมต่อผ่านอุโมงค์ SSH ด้วย "ส่วนหัวของลิงก์ที่ไม่สมบูรณ์ (-104/16)

ธง ne

ฉันมีเซิร์ฟเวอร์ทำงานอยู่ libvirtd ด้วยโดเมน QEMU/KVM ฉันต้องการเข้าถึงด้วย ผู้จัดการ virt จากเครื่องระยะไกล ซึ่งฉันเปิดอุโมงค์ SSH และส่งต่อพอร์ต TCP (libvirtd กำลังฟังอยู่บนพอร์ต TCP ในเครื่อง) จากนั้น virt-manager สามารถเชื่อมต่อกับซ็อกเก็ตในเครื่องด้วย virt-manager -c qemu+tcp://host:port/system.

น่าเสียดาย, ผู้จัดการ virt ไม่ได้ใช้การเชื่อมต่อของตัวเองสำหรับการขุดอุโมงค์ผ่านเซสชัน Spice/VNC แต่พยายามเปิดการเชื่อมต่อใหม่โดยอิสระ ไปยังซ็อกเก็ตที่เปิดโดย QEMU สำหรับผู้เยี่ยมชมแต่ละคน มันผูกพันกับ โลคัลโฮสต์ ดังนั้นจึงไม่มีโชค ฉันสามารถรับหมายเลขพอร์ตด้วย เวอร์ช ดอม ดิสเพลย์, อุโมงค์ผ่าน SSH และใช้ตัวแสดงโดยตรงใน รีโมตวิวเวอร์spice://host:port ไวยากรณ์เพื่อเปิดเซสชันด้วยตนเอง

มันเชื่อมต่อแล้วล้มเหลวด้วย:

(remote-viewer:16039): GSpice-WARNING **: 02:25:56.856: ส่วนหัวของลิงก์ไม่สมบูรณ์ (-104/16)

ข้อผิดพลาดนี้อาจหมายถึงอะไร ฉันทำอะไรผิดที่นี่?
ฉันจะเชื่อมต่อกับเซสชัน QEMU Spice ระยะไกลอย่างถูกต้องผ่านอุโมงค์ SSH ได้อย่างไร

ในขณะที่ค้นหาข้อผิดพลาด ฉันพบคำแนะนำว่าสิ่งนี้อาจเกี่ยวข้องกับพอร์ต TLS ในการเชื่อมต่อ ไม่ว่าจะหมายความว่าอย่างไร ฉันได้เพิ่ม defaultMode="ไม่ปลอดภัย" ไปที่ <graphics/> องค์ประกอบของการกำหนดค่าโดเมน แต่สิ่งนี้ไม่เปลี่ยนแปลง ตัวอย่าง XML ของโดเมน QEMU:

<graphics type="spice" port="5995" autoport="no" listen="127.0.0.1" defaultMode="insecure">
  <listen type="address" />
</graphics>

ยูพีดี: ฉันลองมาหลายอย่างแล้ว: เริ่มเลย x11spice บนโฮสต์และลองเชื่อมต่อกับสิ่งนั้น ยังพยายามเชื่อมต่อจากเวอร์ชัน Windows ของ โปรแกรมดูระยะไกล. ผลลัพธ์: เวอร์ชัน Linux มีข้อผิดพลาด "ส่วนหัวของลิงก์ที่ไม่สมบูรณ์" เช่นเดียวกับเมื่อเชื่อมต่อกับแขก VM; เวอร์ชัน Windows มีข้อผิดพลาดคล้ายกัน แต่ตัวเลขในวงเล็บต่างกัน

ซึ่งทำให้ฉันแปลกใจSPICE สามารถเชื่อมต่อได้หรือไม่เมื่อไคลเอนต์และเซิร์ฟเวอร์มีบิลด์ต่างกัน ปัญหาที่ทราบเกี่ยวกับสิ่งนั้นอาจจะ?

A.B avatar
cl flag
A.B
virt-manager (หรือ virt-viewer) สามารถจัดการ URI ประเภท `qemu+ssh://` และสร้างการเชื่อมต่อ SSH ที่เพียงพอให้ตัวเองโดยไม่ต้องกำหนดค่าอุโมงค์ใดๆ บนไคลเอนต์ด้วยตนเอง ทำไมคุณไม่ใช้สิ่งนี้
ne flag
นั่นจะซับซ้อนกว่าเล็กน้อย เครื่องไคลเอนต์คือ Win11 และคีย์เป็นรูปแบบ PuTTY (ดังนั้นฉันจึงสร้างช่องสัญญาณด้วย PLink) และ virt-manager แม้จะเป็นแอป Python ก็ไม่พร้อมที่จะทำงานบน Win11 ตอนนี้ฉันกำลังเรียกใช้จากภายใน Ubuntu VM และกำลังใช้ซ็อกเก็ตที่เปิดบนโฮสต์ Win11 สิ่งนี้สามารถจัดการได้ (เช่น แปลงคีย์ ส่งไปยัง VM รัน virt-manager และ x11 ใน WSL เป็นต้น) แต่นั่นเป็นอีกการเดินทางหนึ่งโดยสิ้นเชิง
ne flag
ประเด็นเพิ่มเติมคือ: (1) ดูเหมือนจะไม่มีเหตุผลใดที่ `remote-viewer' จะไม่ทำงานในลักษณะนี้ อาจเป็นเพราะมีการกำหนดค่าผิดพลาดที่งี่เง่า ฉันหวังว่าฉันจะเข้าใจสิ่งนั้นและจัดการมันได้จริงๆ (2) ในที่สุดฉันต้องการ `remote-viewer` เป็นหลักและต้องการรันบนโฮสต์ Win11 โดยตรง (มีเวอร์ชัน NT เท่านั้น) ซึ่งจะไม่มี 'virt-manager' เลย (แต่เป็น 'virsh ` ในเซสชัน SSH ทำงานได้ดีพอสำหรับงานของมัน ยกเว้นกราฟิก)
ne flag
ยังไม่ชัดเจนว่าโซลูชันเปิดเผยบริการเซิร์ฟเวอร์หรือไม่จนกว่าจะพบ %) อาจเป็นเวอร์ชันหรือการตั้งค่าหรืออย่างอื่น ข้อผิดพลาดค่อนข้างไม่ชัดเจน ไม่มีข้อมูลเพิ่มเติมใน `--debug` เช่นกัน
A.B avatar
cl flag
A.B
ขออภัย ฉันรู้ว่าคุณกำลังพูดถึง remote-viewer (ไม่ใช่ virt-viewer) ซึ่งไม่รองรับ ssh ในตัว ความผิดฉันเอง.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา