SSH를 통해 컴퓨터에서 다른 사용자로 명령을 실행하시겠습니까?

SSH를 통해 컴퓨터에서 다른 사용자로 명령을 실행하시겠습니까?

일반적인 작업 흐름의 일부로 다른 사용자의 컴퓨터로 SSH를 통해 접속하고, 사용자를 해당 사용자로 전환하고, 명령을 실행한 다음 다시 내 컴퓨터로 종료합니다.

ssh hostname
sudo su user
runcommand
exit
exit

이것을 한 줄 명령으로 줄이는 방법이 있습니까? 예를 들어

ssh --someflags "runcommand"

이것을 시도했지만 내가 가지고 있지 않은 다른 사용자의 비밀번호를 묻는 메시지가 나타납니다.

sudo ssh user@hostnme "runcommand"

답변1

모든 원격 컴퓨터에 사용자가 있습니까? 이것이 작동할 것 같지만 설정을 올바르게 이해했는지 잘 모르겠습니다.

ssh youruser@hostname "sudo -u 원격 사용자 실행 명령"

답변2

터미널도 필요한 경우가 많습니다. 이 경우 다음이 작동합니다.

commands='cd myfolder;ls -l'

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

관련 정보