透過 ssh 以另一個使用者身分在其電腦上執行命令?

透過 ssh 以另一個使用者身分在其電腦上執行命令?

作為正常工作流程的一部分,我通過 ssh 進入另一個用戶的計算機,將用戶切換到他們,運行命令,然後再次退出到我自己的計算機:

ssh hostname
sudo su user
runcommand
exit
exit

有沒有辦法將其減少為單行命令?例如

ssh --someflags "runcommand"

我已經嘗試過此操作,但係統提示我輸入我沒有的其他用戶的密碼:

sudo ssh user@hostnme "runcommand"

答案1

您在所有遠端電腦上都有一個使用者嗎?我想這應該可行,但我不確定我是否正確理解你的設定。

ssh youruser@主機名稱“sudo -u遠端使用者執行指令”

答案2

通常情況下也需要終端。在這種情況下,以下內容應該有效:

commands='cd myfolder;ls -l'

ssh -ttt "youruser@remotehost" "sudo -u remoteuser sh -c ${commands}"

相關內容