他のサーバーにログインした後、ユーザーをsudo(root)に変更する

他のサーバーにログインした後、ユーザーをsudo(root)に変更する

私には 2 台のサーバー (Linux 2.6.32-696.el6.x86_64) があり、fe1 と fe2 を想定しています。

コマンドを実行する必要があります(サービス tomcat 開始/停止)をfe2からfe1に渡すが、ルートとしてsudo. 私が使用しているコマンドsudo ルートはsudo su

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

他の方法でできますか?

答え1

次のように、fe1からfe2にssh経由で任意のコマンドを送信できます。

ssh whoami@fe2 'sudo service tomcat start'

ssh1つのサーバーから他のサーバーに複数のコマンドを実行したい場合は、次のように;thの中に別のコマンドを入れます。' '

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

sshこれらすべてをあなたが述べた順序で実行します。すべてのstdinリクエストはコマンドサーバーから取得され、stdoutまたはの出力stderrorも転送されます。ssh

関連情報