Uma maneira simples é especificar -t
:
ssh -t remotehost "sudo ./binary"
Da página do manual:
Força a alocação pseudo-tty. Isso pode ser usado para executar programas arbitrários baseados em telas em uma máquina remota, o que pode ser muito útil, por ex. ao implementar serviços de menu. Múltiplas opções -t forçam a alocação tty, mesmo que ssh não tenha tty local.
Eu não posso explicar exatamente porque isso funciona, e pode haver uma maneira melhor. Eu gostaria de ouvir sobre isso em caso afirmativo:)
@psusi explica por que isso funciona em um comentário abaixo.