通过 ssh 在他们的机器上以另一个用户身份运行命令?

Esk*_*ker 5 linux ssh sudo command-line tcsh

作为我正常工作流程的一部分,我 SSH 到另一个用户的机器,将用户切换到他们,运行命令,然后再次退出到我自己的机器:

ssh hostname
sudo su user
runcommand
exit
exit
Run Code Online (Sandbox Code Playgroud)

有没有办法将其缩减为单行命令?例如

ssh --someflags "runcommand"
Run Code Online (Sandbox Code Playgroud)

我试过这个,但提示输入我没有的其他用户的密码:

sudo ssh user@hostnme "runcommand"
Run Code Online (Sandbox Code Playgroud)

pik*_*rks 8

您在所有远程计算机上都有用户吗?我想这应该可行,但我不确定我是否正确理解您的设置。

ssh youruser@hostname "sudo -u remoteuser runco​​mmand"

  • 稍微调整一下,就成功了,谢谢。`ssh -t 主机名“sudo su user -c runco​​mmand”` (3认同)