
일반적인 작업 흐름의 일부로 다른 사용자의 컴퓨터로 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}"