Seus redirecionamentos de entrada e strings aqui são colocados incorretamente. Você está dando a string aqui "sudopasswd" para a entrada padrão de sudo -S
, que tem precedência sobre a saída de eco (que se perde desta forma).
O que você pode fazer é deixar sudo
iniciar um shell Bash e executar o fluxo echo
e chpasswd
, separando-os do restante:
ssh user@${i} 'sudo -S <<< "sudopasswd" /bin/bash -c "echo user:newpassword |
/usr/sbin/chpasswd"'