Я только что узнал о функции ControlMaster / ControlPath в OpenSSH, которая позволяет использовать одно соединение SSH для запуска нескольких терминалов.
Поскольку я часто использую SSH для использования переадресации портов для получения зашифрованных и аутентифицированных сеансов VNC, я сразу понял, что вы не можете добавить переадресацию портов на удаленный сервер, к которому у вас уже установлено соединение. Это отстой.
Иногда позже я узнал, что вы можете обойти это ограничение, набрав ~ C во время сеанса терминала SSH. Это открывает командную строку, которая позволяет вам добавлять или удалять переадресацию портов.
Теперь у меня вопрос: как я могу добавить переадресацию портов в существующем сеансе SSH, использующем функцию ControlMaster / ControlPath, без необходимости иметь доступ к терминальному сеансу внутри этого сеанса SSH. Мне нужно это, чтобы включить мой сценарий, который запускает защищенное туннельное соединение VNC, чтобы я мог добавить, а затем удалить его переадресацию портов.
(Я знаю, что мог бы использовать терминальный мультиплексор, такой как GNU Screen или tmux, на самом деле я уже делаю это. Но мне нравится идея использовать только один сеанс SSH по нескольким причинам.)