การแชร์ซ็อกเก็ต tmux ระหว่างโฮสต์เป็นไปได้หรือไม่


11

ฉันสงสัยว่ามันเป็นไปได้ที่จะแบ่งปันซ็อกเก็ตเซิร์ฟเวอร์ tmux ระหว่างโฮสต์ที่แตกต่างกัน ตัวอย่างเช่นฉันมีเครื่องเสมือน (แขก) ทำงานอยู่ในโฮสต์ของฉันและฉันกำลังเรียกใช้เซสชั่น tmux ในแขกมันเป็นไปได้สำหรับเครื่องโฮสต์ของฉันในการเข้าถึงเซสชั่น tmux ของผู้เข้าพักและทำสิ่งดีๆกับมัน? (เช่นส่งคำสั่งไปยังเซสชันของแขก)?

คำตอบ:


10

หัวข้อที่เกี่ยวข้องเกิดขึ้นในรายการส่งเมลของผู้ใช้ tmux : การพยายามใช้ socat ไปยังช่องสัญญาณซ็อกเก็ต tmux

สรุป:

  • เพียงส่งต่อข้อความโต้ตอบแบบ in-band over-the-socket ระหว่างไคลเอนต์tmuxและเซิร์ฟเวอร์ของมันจะไม่ทำงานเนื่องจากtmuxใช้ file descriptor passing (ไคลเอ็นต์ส่งผ่าน tty fd ไปยังเซิร์ฟเวอร์)
    • อาจเป็นไปได้ที่จะพัฒนาพร็อกซีแบบพิเศษ แต่ดูเหมือนว่ามันจะไม่ไร้สาระ - มันจำเป็นต้องรู้พอร์ทโปรโตคอลซ็อกเก็ตtmuxพอที่จะรู้ว่าเมื่อใดที่จะยอมรับและส่ง fds และต้องใช้วิธีการ fds และการดำเนินการใด ๆ ที่กระทำกับ fds เหล่านั้น
  • โปสเตอร์รายการจดหมายการจัดการเพื่อการทำงานออกtmuxระบบการส่งต่อโดยใช้socatที่ทำงานส่วนใหญ่
    • คุณอาจตั้งค่าขนาดเทอร์มินัลเริ่มต้นที่แตกต่างกันโดยการให้-xและ-yตัวเลือกไปnew-sessionแต่สิ่งนี้จะไม่แก้ไขการจัดการปรับขนาด ( socatจะต้องจัดการและส่งต่อ SIGWINCH (ผ่าน TIOCGWINSZ / TIOCSWINSZ ioctls)
    • ดูเหมือนว่าคุณอาจต้องการ“ เซิร์ฟเวอร์ส่งต่อ” ของคุณอยู่ในระบบปฏิบัติการเกสต์ของคุณ แต่โซลูชันที่เชื่อมโยงจะทำให้เซิร์ฟเวอร์อยู่ในโฮสต์ระบบปฏิบัติการของคุณ คุณอาจจะทำใหม่อีกครั้งเพื่อให้มันไปทางอื่น

ถ้าไม่มีเหตุผลบางอย่างที่คุณไม่สามารถเรียกใช้เซิร์ฟเวอร์ SSH กับแขกของคุณมันอาจจะง่ายกว่าที่จะใช้ SSH เพื่อเข้าสู่ระบบกับแขกของคุณ (ให้โปรแกรม SSH จัดการการเชื่อมต่อผ่านเครือข่ายและจัดการ ttys) และแนบไปกับ เพื่อ) ถิ่นที่อยู่tmuxด้วยวิธีนี้:

host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.

คุณสามารถสร้างคีย์ SSH และ~/.ssh/configรายการบนโฮสต์ของคุณเพื่อทำให้บรรทัดคำสั่งsshง่ายขึ้น(เช่นใช้เพียงssh guestด้านบนแทนssh -i guest-user1-key user1@guest-vm-ip)


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