
作為正常工作流程的一部分,我通過 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}"