Ho appena scoperto la funzione ControlMaster / ControlPath di OpenSSH, che consente di utilizzare una singola connessione SSH per eseguire più terminali.
Poiché utilizzo spesso SSH per utilizzare il port forwarding per ottenere sessioni VNC crittografate e autenticate, ho immediatamente riconosciuto che non è possibile aggiungere port forwarding a un server remoto a cui si è già stabilita una connessione. Questo fa schifo.
Qualche volta dopo ho scoperto che puoi aggirare questa limitazione digitando ~ C in una sessione terminale SSH in esecuzione. Ciò apre una riga di comando che consente di aggiungere o rimuovere i port forwarding.
La mia domanda ora è: come posso aggiungere i port forwarding su una sessione SSH esistente che utilizza la funzione ControlMaster / ControlPath, senza la necessità di avere accesso a una sessione terminale all'interno di quella sessione SSH. Ho bisogno di questo per abilitare il mio script che avvia una connessione VNC tunnelizzata sicura per poter aggiungere e successivamente rimuovere i suoi port forwarding.
(So che potrei usare un multiplexer terminale come GNU Screen o tmux, in realtà lo sto già facendo. Ma mi piace l'idea di usare solo una sessione SSH per ragioni serverali.)