Hier ist das Problem: Ich habe mit Python etwas gemacht, das mit praktisch jedem Betriebssystem außer Windows funktioniert, und mir wurde gesagt, dass die Leute, die es testen/verwenden/ausprobieren werden, nur Windows zur Verfügung haben. Alle verfügbaren Konsolenemulatoren sind ausgefallen, und ich habe nicht die Möglichkeit, den Code neu zu schreiben oder eine virtuelle Maschine auf diesen Maschinen zu installieren.
Die Frist läuft in 8 Stunden ab und ich habe folgendes im Sinn:
Nehmen Sie meinen Server, erstellen Sie einen passwortlosen Benutzer (z. B. mit dem App-Namen), der nur diese Datei oder einen Alias (der die Datei startet) starten kann, und starten Sie den SSH-Server.
Dann müssen sie sich nur noch per SSH mit dem Rechner verbinden und das Programm erscheint. Es handelt sich um eine reine Textkonsole, daher kann es damit keine Probleme geben.
Die Sache ist, ich weiß nicht, wie ich einem Linux-Benutzer DERART eingeschränkte Zugriffsrechte geben kann. Wie kann ich das machen? Der Server ist nur eine Testmaschine, er enthält keine wichtigen Daten und ist normalerweise ausgeschaltet oder arbeitet offline, daher ist Sicherheit hier kein großes Problem. Ich möchte das nur zum Laufen bringen. Außerdem ist die Lösung nicht von Dauer, ich muss sie nur morgen für ca. 7 Stunden zum Laufen bringen, und dann kann ich frei damit herumspielen und sie richtig zum Laufen bringen.
Edit: So sehr ich ausführliche Antworten voller Informationen auch schätze, ich muss sagen, es ist 4:30 Uhr morgens, ich bin seit fast zwei Tagen wach und werde gleich ohnmächtig über meiner Tastatur. Fügen Sie also bitte nichts hinzu, was nicht unbedingt notwendig ist, das könnte ich unmöglich verarbeiten.
Antwort1
Sie können passwortlose Anmeldungen durch SSH-Autorisierungsschlüssel zulassen ssh-keygen
, die ausgeführt werden, wodurch ein öffentlicher und ein privater Schlüssel generiert werden. Der Benutzer benötigt den privaten Schlüssel zum Anmelden und der Server benötigt den öffentlichen Schlüssel in ~/.ssh/authorized_keys
Weitere Informationen finden Sie unter
So richten Sie SSH ein, damit Sie nicht nach einem Kennwort gefragt werden
Bezüglich der Einschränkung können Sie für diesen Benutzer eine Chroot-Umgebung erstellen, die sicherer ist, aber viel mehr Arbeit erfordert, oder Sie können einige Einschränkungen für autorisierte Schlüssel vornehmen:
command="/your/script/path/filename",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pry YOUR-SSH-KEY
Weitere Informationen erhalten Sie unterSSH für Skripte und Cron-Jobs verwalten
Antwort2
Ich konnte keinen Benutzer ohne Passwort erstellen, habe aber einen mit dem Benutzernamen und Passwort „Programmname“ erstellt und die Datei /etc/ssh/sshd_config hinzugefügt. Match User testuser
Auf ForceCommand python /path/file.py
diese Weise kann sich jeder anmelden (die Anmeldeinformationen befinden sich auf der Website dieses Servers), das Programm sehen und sich dann automatisch abmelden, wenn das Programm geschlossen wird.