измените пользователя на sudo(root) после входа на другой сервер

измените пользователя на sudo(root) после входа на другой сервер

У меня есть 2 сервера (Linux 2.6.32-696.el6.x86_64), предположим, fe1 и fe2.

мне нужно выполнить команду (служба tomcat запуск/остановка) на fe2 из fe1, но это требуетsudo как root. Команда, которую я использую дляsudo root — этоsudo su

#!/bin/sh
host=fe2
user=`whoami`
sftp $user@fe2 << EOF
sudo su
service tomcat stop
bye
EOF

можно ли это сделать как-то по-другому?

решение1

Вы можете отправить любую команду по ssh с fe1 на fe2 следующим образом:

ssh whoami@fe2 'sudo service tomcat start'

Если вы хотите запустить несколько команд sshиз одного просмотрщика в другой, используйте отдельные команды ;внутри, ' 'как показано ниже

ssh whoami@fe2 'sudo -s; service tomcat start; service tomcat status; other_commands; '

sshзапустит их все в указанном вами порядке. Любой stdinзапрос будет взят с управляющего сервера, а любой вывод на stdoutили stderrorтакже будет переданssh

Связанный контент