Verhindern Sie den Remote-Aufruf der Skriptdatei über SSH

Verhindern Sie den Remote-Aufruf der Skriptdatei über SSH

Ich versuche zu verhindern, dass ein Skript remote aufgerufen wird. Der Benutzer muss sich stattdessen zuerst per SSH anmelden und dann das Skript ausführen.

ssh remote-server "script.sh"sollte scheitern

ssh remote-serverund nach dem Login ./script.shsollte es funktionieren

Ich kann den Eigentümer ändern und anwenden chmod, aber dann kann der Remote-Benutzer verwendenssh remote-server "sudo -u newuser ./script.sh"

Verwenden einer AWS EC2-Instanz

Antwort1

Running ssh foo@remote-servergefolgt von ./script.shist gleichbedeutend mit running ssh foo@remote-server ./script.sh, und running ssh foo@remote-servergefolgt von sudo -u bar ./script.shist gleichbedeutend mit ssh foo@remote-server sudo -u bar ./script.sh(außer sudoes kann fehlschlagen, weil es ein TTY benötigt, was leicht umgangen werden kann). Daher fürchte ich, dass Ihre Frage keinen Sinn ergibt. Alles, was Sie tun, um diesen künstlichen Unterschied zu umgehen, wie z. B. das Testen auf das Vorhandensein von $TERModer, [ -t 0 ]lässt sich wahrscheinlich leicht umgehen.

verwandte Informationen