Eu tenho acesso a uma máquina rodando o SunOS 5.10 (chamado solaris). Eu também tenho acesso a uma máquina RedHat (chamada redhat).
ssh -tt
parece não me dar saída se for executado de solaris para solaris, mas funciona como esperado de outra forma. Do redhat ao solaris:
redhat$ </dev/null ssh -tt solaris echo ged
ged
Connection to solaris closed.
De solaris para redhat:
solaris$ </dev/null ssh -tt redhat echo ged
tcgetattr: No such device or address
ged
Connection to redhat closed.
De solaris para solaris:
solaris$ </dev/null ssh -tt solaris echo ged
Connection to solaris closed.
Hmm ... parece que o comando não está sendo executado ou a saída é descartada. De solaris para solaris:
solaris$ rm -f /tmp/ged
solaris$ </dev/null ssh -tt solaris touch /tmp/ged
solaris$ ls -l /tmp/ged
-rw-r--r-- 1 tange other 0 Aug 8 07:02 /tmp/ged
Então o comando é claramente executado; é apenas a saída que é descartada.
Como posso obter a saída do ssh?
Plano de fundo
O acima é a essência de um bug no GNU Parallel e é por isso que < / dev / null e -tt são necessários:
Parece que é devido a esse bug: link
Uma solução parece ser pegar um PTY do Perl e usá-lo:
perl -MIO::Pty -e '$pty = new IO::Pty; print $t=$pty->ttyname(),"\n"; print 'openssh-5.0p1/ssh -tt solaris.p echo foo < $t''
Infelizmente IO: Pty não está instalado no Solaris 5.10 e não é apenas um pacote Perl, mas também um arquivo .xs - portanto, também é necessário um compilador C; portanto, não é uma boa solução.
Então a questão é: O SunSSH 1.1 e o OpenSSH 5.0 podem ser usados para contornar isso - possivelmente com a ajuda do Perl?