Inicie uma sessão de tela em segundo plano e execute seu script nela. Isso funciona para mim com top que é interativo "como sudo".
ssh -l jaroslav 10.3.0.7 screen -dmS foobar
ssh -l jaroslav 10.3.0.7 screen -S foobar -X stuff top^M
# ^M means [return]
#ssh -l jaroslav 10.3.0.7 screen -S foobar -X stuff top
#ssh -l jaroslav 10.3.0.7 screen -S foobar -X stuff $'5'
# to resume
ssh -t -l jaroslav 10.3.0.7 screen -r -S foobar
Para ser honesto, esse é um modo inverso de iniciar um serviço, mas não sei exatamente por que o tomcat é encerrado quando você faz o ssh na caixa com ssh -t. Afinal, o serviço é executado em segundo plano, certo?