shellscripting und php (remote)

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
virox
Beiträge: 19
Registriert: 30.12.2005 19:57:43
Lizenz eigener Beiträge: GNU General Public License

shellscripting und php (remote)

Beitrag von virox » 07.03.2006 08:13:26

Ich kenne mich ein bischen mit PHP und Shellscripting aus...
So nun habe ich ein Shellscript, das z.b. einen ordner anlegt auf einem entfernten linux rechner,
ich will jetzt von einem anderen rechner wo php drauf läuft dieses shellscript auf den anderen rechner ausführen. So wie mache ich sowas mit php oder brauche ich noch was dazu...
Achso will natürlich nicht nur ordner damit erstellen sondern z.b. den rechner neustarten etc
hoffe einer kann mir helfen. :roll:

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 07.03.2006 08:19:32

Wahrscheinlich brauchst du nur deinem PHP erlauben Programme auszuführen, die dann z.B. die von Dir gewünschten Aktionen durchführen.
Generell ist dieses Vorgehen jedoch sowohl ziemlich sinnlos als auch ziemlich riskant. Mit der Sicherheit des Webservers (incl. PHP) fällt auch die Sicherheit deines Zielsystems.
Kannst du nicht auf dem Zielsystem (wo du z.B. auch booten willst) einen Webserver oder Webin (Webserverport ist dann z.B. 10000 incl. Verschlüsselung (https)) nutzen.
Wenn nicht, dann gehe ich davon aus, dass du deinen Websever optimal abgesichert hast und auf jeden Fall eine SSL-Verschlüsselung einsetzt. Nenn doch Gründe dafür, warum du nicht auf dem zu bootenden Rechner z.B. Webmin einsetzen willst.
PS.: sollte der Rechner intern sein, so würde ich ein Port-Forwarding vorziehen.

jhr-online
Beiträge: 2186
Registriert: 18.09.2005 15:52:02
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von jhr-online » 07.03.2006 08:19:38

Du hast einen anderen Rechner, auf dem php läuft? Ich verstehe dich vermutlich falsch, denn du kannst nicht mit einem php-Befehl auf PC1 ein script auf PC2 starten.
Ich vermute dann mal, du willst mit php scripte ausführen, auf dem gleichen Rechner, richtig? Es ist also ein laufender Webserver da, der mittels php scripte ausführen soll, richtig? Wenn ja, schau dir die php-Befehle

Code: Alles auswählen

exec()
system()
passthru()
an. Das dürfte einige Fragen beantworten, oder nicht?

jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13

Benutzeravatar
virox
Beiträge: 19
Registriert: 30.12.2005 19:57:43
Lizenz eigener Beiträge: GNU General Public License

Beitrag von virox » 07.03.2006 08:27:59

nene ich will schon einen anderen rechner mit na anderen ip ansteuern (die skripte shell skripte liegen auf dem).
GEISTESBLITZ ^^: muss ich nicht mit dem php script auf rechner 1 eine ssh verbindung zu rechner 2 aufbauen?
dann hätte ich ja schon ma ne verbindung zwischen diesen beiden rechnern und könnte doch dann irgendwie die scripte auf rechner 2 ausführen??


Jop über die Sicherheit bin ich mir im klaren ;)

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 07.03.2006 08:31:56

GEISTESBLITZ ^^: muss ich nicht mit dem php script auf rechner 1 eine ssh verbindung zu rechner 2 aufbauen?
das mit dem SSH war doch vorher klar, oder. Nutze SSH-Keys, um eine Anmeldung mit Benutzername und Passwort zu sparen, brauchst du sowieso nicht, da die Keys sicherer sind und der Webserver, wenn er gehackt ist, sowieso das Passwort preisgibt.
Nochmal: was willst du überhaupt erreichen? Es gibt bestimmt eine bessere Lösung.

Benutzeravatar
virox
Beiträge: 19
Registriert: 30.12.2005 19:57:43
Lizenz eigener Beiträge: GNU General Public License

Beitrag von virox » 07.03.2006 08:39:46

jo ssh keys will ich auch nutzten...
das prob ist aber wie mache ich eine ssh verbindung mit php... uff
und ich müsste dann j aauch mit dem php script auf das shelscript das im ordner /home/scripte liegt drauf zugreifen können (wäre möglich, oder?)

ich will von einem zentralen server bei anderen servern von mir prozesse starten stoppen neustarten etc.
und das will ich mit einem webinterface erreichen :)

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.03.2006 09:31:48

Indem du von PHP aus einfach ssh mit entsprechenden Schaltern aufrufst?
Wenn du remote was ausfuehren willst, dann kannst du SSH das Kommando gleich beim Aufruf mitgeben...

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 07.03.2006 09:41:02

Ich würde ein entsprechendes Programm auf dem Zielsystem schreiben, welches immer (!!!) aufgerufen wird. Am besten die Befehle und Parameter packst du dann in eine zusätzliche Datei als Übergabeliste. Du kannst im übrigen die SSH-Keys soweit einschränken, dass sie nur für diesen Befehl genutzt werden können, welches alles etwas mehr absichert. Suche einfach bei Google nach
"forced command" authorized_keys

Antworten