ฉันเพิ่งค้นพบเกี่ยวกับคุณสมบัติ ControlMaster / ControlPath ของ OpenSSH ซึ่งช่วยให้คุณใช้การเชื่อมต่อ SSH เดียวเพื่อเรียกใช้เทอร์มินัลหลายเครื่อง
เนื่องจากฉันมักจะใช้ SSH เพื่อใช้การส่งต่อพอร์ตเพื่อรับเซสชัน VNC ที่เข้ารหัสและรับรองความถูกต้องฉันจำได้ทันทีว่าคุณไม่สามารถเพิ่มการส่งต่อพอร์ตไปยังเซิร์ฟเวอร์ระยะไกลที่คุณมีการเชื่อมต่อที่สร้างไว้แล้ว อันนี้ครับ
บางครั้งในภายหลังฉันพบว่าคุณสามารถหลีกเลี่ยงข้อ จำกัด นี้ได้โดยพิมพ์ ~ C ในเซสชันเทอร์มินัล SSH ที่กำลังทำงานอยู่ นี่เป็นการเปิดบรรทัดคำสั่งซึ่งช่วยให้คุณสามารถเพิ่มหรือลบการส่งต่อพอร์ต
คำถามของฉันคือตอนนี้: ฉันจะเพิ่มการส่งต่อพอร์ตในเซสชัน SSH ที่มีอยู่ซึ่งใช้คุณลักษณะ ControlMaster / ControlPath ได้อย่างไรโดยไม่จำเป็นต้องเข้าถึงเซสชันเทอร์มินัลภายในเซสชัน SSH นั้น ฉันต้องการสิ่งนี้เพื่อเปิดใช้งานสคริปต์ของฉันซึ่งเริ่มการเชื่อมต่อ VNC แบบอุโมงค์ที่ปลอดภัยสำหรับฉันในการเพิ่มและลบพอร์ตการส่งต่อในภายหลัง
(ฉันรู้ว่าฉันสามารถใช้เทอร์มินัลมัลติเพล็กเซอร์เช่น GNU Screen หรือ tmux จริง ๆ แล้วฉันกำลังทำสิ่งนี้อยู่แล้ว แต่ฉันชอบความคิดที่จะใช้เซสชัน SSH เพียงครั้งเดียวด้วยเหตุผลทางเซิร์ฟเวอร์)