Befehle als anderer Benutzer auf Ihrem Computer per SSH ausführen?

Befehle als anderer Benutzer auf Ihrem Computer per SSH ausführen?

Als Teil meines normalen Arbeitsablaufs melde ich mich per SSH bei der Maschine eines anderen Benutzers an, wechsle den Benutzer zu diesem, führe einen Befehl aus und beende das Programm dann wieder und kehre zu meiner eigenen Maschine zurück:

ssh hostname
sudo su user
runcommand
exit
exit

Gibt es eine Möglichkeit, dies auf einen einzeiligen Befehl zu reduzieren? zB

ssh --someflags "runcommand"

Ich habe dies versucht, werde aber nach dem Passwort des anderen Benutzers gefragt, das ich nicht habe:

sudo ssh user@hostnme "runcommand"

Antwort1

Haben Sie auf allen Remotecomputern einen Benutzer? Ich denke, das sollte funktionieren, aber ich bin nicht sicher, ob ich Ihr Setup richtig verstehe.

ssh IhrBenutzer@Hostname "sudo -u Remote-Benutzer Runcommand"

Antwort2

Oftmals ist auch ein Terminal erforderlich. Folgendes sollte in diesem Fall funktionieren:

commands='cd myfolder;ls -l'

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

verwandte Informationen