eu tenho 2 servidores (Linux 2.6.32-696.el6.x86_64) suponha fe1 e fe2.
eu preciso executar um comando (serviço Tomcat iniciar/parar) em fe2 de fe1 mas requersudo como root. Comando que estou usando pararaiz sudo ésudo su
#!/bin/sh
host=fe2
user=`whoami`
sftp $user@fe2 << EOF
sudo su
service tomcat stop
bye
EOF
isso pode ser feito de alguma outra maneira?
Responder1
Você pode enviar qualquer comando por ssh de fe1 para fe2 da seguinte maneira
ssh whoami@fe2 'sudo service tomcat start'
Se você deseja executar vários comandos ssh
de um seever para outros comandos separados ;
dentro do ' '
seguinte
ssh whoami@fe2 'sudo -s; service tomcat start; service tomcat status; other_commands; '
ssh
irá executar todos eles na ordem que você mencionou. Qualquer stdin
solicitação será obtida do servidor de comando e qualquer saída stdout
ou stderror
também será transferidassh