Запретить удаленный вызов файла скрипта с использованием 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.shэквивалентен запуску 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 ]вероятно, легко обойти.

Связанный контент