web-dev-qa-db-ja.com

sshを介して自分のマシンで別のユーザーとしてコマンドを実行していますか?

通常のワークフローの一部として、別のユーザーのマシンにSSHで接続し、ユーザーをそれらのマシンに切り替え、コマンドを実行してから、自分のマシンに戻ります。

ssh hostname
Sudo su user
runcommand
exit
exit

これを1行のコマンドに削減する方法はありますか?例えば.

ssh --someflags "runcommand"

私はこれを試しましたが、私が持っていない他のユーザーのパスワードの入力を求められます:

Sudo ssh user@hostnme "runcommand"
3
Esker

すべてのリモートコンピューターにユーザーがいますか?これでうまくいくと思いますが、セットアップが正しく理解できているかわかりません。

ssh youruser @ hostname "Sudo -u remoteuserrunco​​mmand"

6
piksel bitworks

ターミナルも必要になることがよくあります。この場合、以下が機能するはずです。

commands='cd myfolder;ls -l'

ssh -ttt "youruser@remotehost" "Sudo -u remoteuser sh -c ${commands}"
1
Thomas Bratt