通常のワークフローの一部として、別のユーザーのマシンにSSHで接続し、ユーザーをそれらのマシンに切り替え、コマンドを実行してから、自分のマシンに戻ります。
ssh hostname
Sudo su user
runcommand
exit
exit
これを1行のコマンドに削減する方法はありますか?例えば.
ssh --someflags "runcommand"
私はこれを試しましたが、私が持っていない他のユーザーのパスワードの入力を求められます:
Sudo ssh user@hostnme "runcommand"
すべてのリモートコンピューターにユーザーがいますか?これでうまくいくと思いますが、セットアップが正しく理解できているかわかりません。
ssh youruser @ hostname "Sudo -u remoteuserruncommand"
ターミナルも必要になることがよくあります。この場合、以下が機能するはずです。
commands='cd myfolder;ls -l'
ssh -ttt "youruser@remotehost" "Sudo -u remoteuser sh -c ${commands}"