O ponto e vírgula não faz o que parece ser tentado.
O ponto e vírgula separa os comandos. Então, no serverA, a primeira coisa que acontece é rodar
ssh [email protected]
Em seguida, após a conclusão do ssh (talvez devido a uma falha no login completo), o comando restante será executado no serverA.
sudo -u dev -H sh -c "touch ~/test.txt"
Em seu exemplo específico, verifique serverA para ~ dev / test.txt
Para realizar o que você está procurando fazer, simplesmente remova o ponto e vírgula. Não seria legal se todos os problemas fossem resolvidos tão facilmente?