Você deve considerar o uso do comando screen, que permitirá que você faça o que quiser com o benefício adicional de poder se reconectar ao shell em qualquer momento.
SSH PARA REMOVER HOST
machine_a:> ssh machine_b
INICIE UMA NOVA SHELL USANDO A TELA
machine_b:> screen
machine_b:> run your script here
DETALHE DA TELA
( Press Ctrl-a then ctrl-d to disconnect from the screen )
SAIR DA CAIXA DO SERVIDOR
machine_b:> exit
machine_a:>
ENTRAR NO SERVIDOR (em data posterior)
machine_a:>ssh machine_b
LISTA TODAS AS TELAS QUE EXISTEM PARA O SEU USUÁRIO
screen -list (to show a list of all screen sessions that exist).
eg.
username@machine_b:~/> screen -list
There are screens on:
30264.pts-5.machine_b (Detached)
2 Sockets in /var/run/uscreens/S-username.
RECONECTE A UMA TELA DESTACADA
machine_b:> screen -dr 30264
Nesta fase você pode ver seu script / comando / shell exatamente como você o deixou. Mesmo se o comando que você executou fosse um aplicativo xwindows com exibição definida para a exibição do servidor remoto.
Para criar a tela remota com o seu script em execução da mesma forma que você está tentando fazer usando apenas o ssh sozinho, tente isto:
ssh -t username_placeholder@B 'screen -d -m /home/username_placeholder/broadcast.sh'