SSH를 사용하여 스크립트 파일이 원격으로 호출되는 것을 방지

SSH를 사용하여 스크립트 파일이 원격으로 호출되는 것을 방지

스크립트가 원격으로 호출되는 것을 방지하려고 합니다. 대신 사용자는 먼저 SSH 로그인을 한 다음 스크립트를 실행해야 합니다.

ssh remote-server "script.sh"실패해야 한다

ssh remote-server로그인 후 ./script.sh작동해야합니다

소유권을 변경하고 적용할 수 있지만 chmod원격 사용자는 다음을 사용할 수 있습니다.ssh remote-server "sudo -u newuser ./script.sh"

AWS EC2 인스턴스 사용

답변1

ssh foo@remote-server이어서 실행하는 것은 ./script.shrunning 과 동일하며 ssh foo@remote-server ./script.sh, ssh foo@remote-server이어서 실행하는 sudo -u bar ./script.sh것은 와 동일합니다 ssh foo@remote-server sudo -u bar ./script.sh( sudo쉽게 해결할 수 있는 TTY가 필요하기 때문에 실패할 수 있다는 점은 제외). 그래서 당신이 요구하는 것이 말이되지 않는 것 같습니다. 이 인위적인 차이를 해결하기 위해 수행하는 모든 작업(예: 존재 여부 테스트)은 $TERM아마도 [ -t 0 ]쉽게 해결될 수 있습니다.

관련 정보