Pipe quebrado ao tentar executar um script local com arquivo de entrada local em um cluster acessado via host remoto usando SSH

Pipe quebrado ao tentar executar um script local com arquivo de entrada local em um cluster acessado via host remoto usando SSH

Estou tentando executar um script local (por exemplo, hostname.sh) em um cluster em uma máquina remota usando SSH, mas estou recebendo o seguinte erro:

> ssh -A _remote ssh -A _cluster 'bash' < hostname.sh
stdout: write: Broken pipe

O arquivo hostname.sh simplesmente exibe o nome do host neste exemplo, mas em geral pode ser mais complexo. É provável que o erro seja causado pelo uso incorreto da tubulação, pois o seguinte funciona:

ssh -A _remote ssh -A _cluster hostname
> _cluster_name

Eu tentei várias soluções, mas todas falharam de uma forma ou de outra, elas se resumem a ssh para _remote e depois tentam ler hotsname.sh que neste caso não está disponível. O que funciona é copiar hostname.sh para _remote, SSH para remoto e depois executar:

ssh _cluster "bash" < hostname.sh

Mas isso significa que preciso sincronizar constantemente hostname.sh entre máquinas locais e remotas.

Qualquer ajuda é apreciada.

informação relacionada