В общем, я мог слушать в реальном времени аудио на удаленном компьютере как:
ssh me@gate rec -t mp3 - | play -
Например, на компьютере с именем gate я мог выполнить команду rec (или sox), и аудиопоток передается по сети, поэтому я мог воспроизводить его в реальном времени с помощью команды play (или sox).
Это работает хорошо, особенно потому, что у меня есть доступ к gate пароля из моего ноутбука (с использованием authorized_keys & authorized_keys2).
Но моя топология:
+----+ internet +------+ lan +----------+
| my | ----------> | gate | -----> | internal |
+----+ +------+ +----------+
и мне нужно выполнить rec во internal компе, и его стандартный stdout должен быть передан команде play на my компьютере.
Итак, когда я каскадирую (вкладываю) ssh вроде:
ssh -t me@gate ssh me@internal rec -t mp3 -
(обратите внимание на -t для ssh)
- таким образом, доступ к
gateосуществляется без пароля - на
gateвыполняется второй (вложенный)ssh - поэтому
internalпросит у меня пароль (-t) - и когда я ввожу пароль,
internalправильно начинаетrecкоманды - и я мог наблюдать полученный бинарный мусор на моем локальном терминале.
К сожалению, это не работает, когда я пытаюсь подключиться к play , например, это
ssh -t me@gate ssh me@internal rec -t mp3 - | play -
не работает, потому что строка « Password: была перенаправлена (например, я не запрашивал пароль), и play запуталась.
Настройка доступа без пароля между me@gate -> me@internal вероятно, могла бы решить проблему, но я не хочу этого - я хочу вручную ввести пароль для internal комп.
Есть идеи, как это решить?
