ssh hostname "sudo -S sh -c 'echo stuff >> /root/foo.txt'" < password.txt
Você ainda precisará digitar cada senha do ssh, mas lerá a senha do sudo em password.txt.
Espero que isso ajude.
Eu preciso de uma maneira de entrar em uma lista de nomes de host / IPs como usuário, su para root e então criar / anexar .bashrc de root
root não tem permissão para ssh diretamente no servidor
ssh hostname "sudo -S sh -c 'echo stuff >> /root/foo.txt'" < password.txt
Você ainda precisará digitar cada senha do ssh, mas lerá a senha do sudo em password.txt.
Espero que isso ajude.
Como mencionado no comentário dos godswearhats, sudo -S provavelmente será útil. Espero que você tenha ssh chaves públicas já em vigor para remover os pedidos de login ssh. Se não, eu recomendaria empurrá-los antes dos comandos. O mesmo número de prompts de credencial (um para cada máquina inicialmente, nenhum nos comandos de alteração reais) e você não está definido para nenhum prompt nesse nível na próxima vez.
Recomendamos que você pense em configurar algo como Puppet . Assim como as teclas ssh, uma configuração que pode ter a mesma quantidade de dor que o real push de configuração, você pode fazer o push de configuração com pouco trabalho adicional e está pronto para a próxima vez.