Ну смотри, сейчас это в виде MVP.
Соответственно, есть следующие проблемы:
1. Аргументы для ssh захардкожены - для передачи выбран кастомный порт, который, возможно, будет занят
2. Вся обработка приёма потоков stdout на контроллере как таковая отсутствует
3. Нет разграничения потоков от разных команд
4. На целевой тачке никак не обрабатывается ситуация, когда порт на контроллере по какой-то причине никто не слушает (error 32 - Broken pipe)