Provavelmente, o sudo está solicitando uma senha e tentando obtê-la do seu script test.sh.
Existem duas soluções.
Primeiro, você pode atribuir o NOPASSWD ao seu userid no sistema de destino.
your_username ALL=(ALL) NOPASSWD: ALL
Ou segundo, você pode usar ssh no sistema e fornecer uma senha ao sudo, depois executá-lo novamente e
$ echo "your_password" | ssh remote_host sudo -l
your_username@remote_host's password:
[sudo] password for your_username:
User your_username may run the following commands on this host:
(ALL) ALL
$ ssh remote_host sudo /bin/bash < test.sh
remote_host.example.com
Claro, você vai querer tomar precauções sobre a sua senha que aparece no seu histórico de shell (como colocá-lo em um arquivo que você tenha acesso, depois obter o valor desse arquivo via cat ou similar).
Eu prefiro strongmente o primeiro, com autenticação baseada em chave SSH, sem senhas, e a chave privada residindo em um sistema: meu laptop (protegido com uma senha de mais de 16 caracteres).
Conteúdo do meu test.sh:
#!/bin/sh
hostname -f