Você tem duas opções:
-
Você pode desativar os requisitos tty pelo sudo: execute
visudo
e remova a opção "requiretty" globalmente se estiver definida ou por usuário:Defaults:username !requiretty
-
Você pode forçar o ssh a alocar pseudo-tty:
ssh -t -t myuser@$myip "sudo sh"
Observe as opções double -t, ambas são necessárias. Além disso, você precisa adicionar
exit
como última linha do seu scriptcreate_user_updated.sh
. Caso contrário, a sessão do ssh pode não terminar corretamente (devido à criação pseudo-tty forçada).
Por favor use a opção # 2 somente se você não tiver direitos de root na máquina de destino e não puder alterar a configuração do sudo. # 1 é uma solução muito mais limpa. Na minha opinião, impor tty via sudo faz muito pouco do ponto de vista de segurança.