Em geral, eu podia ouvir em tempo real o áudio no computador remoto como:
ssh me@gate rec -t mp3 - | play -
por exemplo, no computador nomeado gateeu poderia executar o comando rec(ou sox) e o fluxo de áudio é transferido pela rede, para que eu pudesse reproduzi-lo em tempo real através do comando play(ou sox).
Isso funciona bem, especialmente porque eu tenho acesso sem senha ao gatedo meu notebook (usando authorized_keys & authorized_keys2).
Mas minha topologia é:
+----+ internet +------+ lan +----------+
| my | ----------> | gate | -----> | internal |
+----+ +------+ +----------+
e eu preciso executar o recno internalcomp e stdoutdeve ser canalizado para o playcomando no mycomputador.
Então, quando estou em cascata (aninhando), sshs como:
ssh -t me@gate ssh me@internal rec -t mp3 -
(note o -tpara ssh)
- portanto, o
gateé acessado sem senha - no
gateé executado o segundo (aninhado)ssh - então o
internalme pede a senha (-t) - e quando digito a senha,
internaloreccomando inicia corretamente - e eu pude assistir ao lixo de dados binários recebido no meu terminal local.
Infelizmente, isso não funciona quando estou tentando canalizar para play, por exemplo, este
ssh -t me@gate ssh me@internal rec -t mp3 - | play -
não funciona, porque a Password:string foi redirecionada (por exemplo, não solicitei a senha) e a playconfusão foi confusa.
A configuração do acesso sem senha entre me@gate-> me@internalprovavelmente pode resolver o problema, mas não quero isso - quero inserir manualmente a senha na internalcomp.
Alguma idéia de como resolver isso?
-tnão pede uma senha ... " Desativar alocação de pseudo-terminal " .