stackoverflowやインターネット上の他の多くの記事と同様の質問が出てくるでしょうか?しかし、私は自分の問題に対する解決策を正確に見つけることができませんでした。リモートサーバで実行するタスクのリストがあり、スクリプトを渡すことはOKです!ただし、要件に適合しません。<< heredocでSSHの中でSudoを実行する
私はリモートサーバーに接続するために私のサーバーから次のコマンドを実行しています。
ssh -t [email protected] << 'HERE'
sudo su - <diff_user>
do task as diff_user
HERE
ssh -tt [email protected] << 'HERE'
sudo su - <diff_user>
do task as diff_user
HERE
最初のオプション(-t)を使用しても、私はまだsudoを実行できません。
sudoを:申し訳ありませんが、あなたは(-tt)上述の第2のオプションではsudo
を実行するための端末を持っている必要があります、私は、現在のサーバーセッション、総混乱に逆入力/出力を得るメートル。
私はリモートホストで実行するためにSSHにスクリプトとしてコンテンツを渡そうとしましたが、同様の結果が得られました。
コメントアウト以外の方法はありますか?/etcにある
デフォルトrequirettyは/ sudoersファイルはそれがある時はいつでも私は、RedHatのは、それが取り除か/将来のバージョンでコメントアウトすることが承認さを知って、私も上にしようとしていない
ファイル。私がステップを踏むと、100以上のVMで処理が完了します(さらに、VM上のファイルを編集して試してみる権限がありません)。したがって
、私の問題は、以前、同じまま。ここでは専門家から何らかのインプットを得ることができれば嬉しいです:)
追加情報:RedHat RHEL 6、2.6.32-573.3.1 を使用しています。私はリモートホストにアクセスしていますが、私のIDはdiff_userに切り替えるためのパスワードを必要としません。
ありがとう!応答Jakujeのために。私はリモートホスト上でかなりのタスクを実行する必要があり、すべてを1行で渡すことは最後のアイデアです。私はパスワードが少ないsudoを持っている、私は 'user'のパスワードを渡す必要がありますが、 'diff_user'にsudoするのではありません。 'user'としてサーバにいます。 'ssh -t user @ server" sudo su -<<ここでは「ここです。しかし、それはsshの違法使用のように思えます。ガイドをお願いしますか? –
simer