Ausführen von Befehlen auf remote-Maschine via PHP
Hintergrund zu geben, auf meine Umgebung:
Habe ich 3 Maschinen A, B & C
A = - Webserver läuft ein php-website, die im Grunde wirkt als eine Schnittstelle für B & C
B = Linux-Ubuntu-Rechner habe ich root-Zugriff, SSH und alle notwendigen Güte zur Arbeit an der Maschine über einen SSH-client (ich habe eine .ppk-private-key-Datei für diesen server)
C = MySql Datenbank-server läuft auf Linux
Kann ich erfolgreich ausführen von Abfragen (php) auf C (Mysql) und gibt die Ergebnisse zurück. Aber jetzt im, der versucht ausführen, linux-Befehle auf B aus A.
ZB.
Ich habe ein Skript, das läuft auf B und würde gerne einen Befehl auszuführen, von Einem (php -) zeigen den status des Skripts.
In der Befehlszeile zu tun, das ist einfach - ./SomeScript status
Aber ich möchte zeigen den status des scripts in der Webseite im hosting auf Server A.
Sogar prüfen Sie einfach die Verfügbarkeit von Server B auf Server a
Ist dies sowieso möglich. ich habe ewig gegoogelt, wie es scheint, aber ich bin nicht von der Stelle zu kommen, Im nicht allzu phased ob die Verbindung sicher ist oder nicht, da dies ein geschlossenes Netzwerk von außen nicht den Zugang zu diesem Netzwerk.
Jede Beratung würde sehr geschätzt werden.
Dank
B
gibt spezifische Informationen wie uptime, und können zulassen, dass bestimmte Programme ausgeführt werden? Wollen Sie das Skript überprüfen, dass die IP ist ja vom server A
obwohl.Vielen Dank, siehst du, dass ich tun kann, das problem im habend ist die Darstellung der Ergebnisse, die von einem bestimmten Skript auf B auf eine php-Seite auf Einem
Die Ergebnisse sind wahrscheinlich weggeworfen wie eine Art von text-oder html-Datei. Nachdem Sie die Ausgabe-Datei erzeugt, die auf B, scp, A.
Aber wie Verbinde ich mich mit B in den ersten Platz aus? und dann die Abfrage ausführen / command vor allem mit dem öffentlichen Schlüssel, die ich habe?
Ja, das Tue ich. ich habe root-Zugriff auf A & B
InformationsquelleAutor Stroes | 2013-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Führen Sie SSH Befehle über PHP auf server A zu server B aus.
Hier ist, wie Sie ssh Befehle über die Befehlszeile in linux: http://www.youtube.com/watch?NR=1&feature=fvwp&v=YLqqdQZHzsU
Um das ausführen von Befehlen auf linux mit PHP verwenden Sie die exec() Befehl.
Ich hoffe, dies wird Ihnen den Einstieg suchen in die richtige Richtung.
Blick auf diese zwei Beiträge für die Automatisierung der Passwort-Eingabeaufforderung
Hier ist ein kurzes Beispiel mit nicht arbeiten code, um Sie zum nachdenken:
Den empfohlenen flow ist, um einen Befehl auf dem server Ein SSH auf server B
finden Sie editiert Antwort mit einem Beispiel, Sie denken in die richtige Richtung. Dieses wird ausgeführt, die ssh-Befehle direkt aus php zu einer remote-Maschine und die Antwort zurückgegeben wird.
Danke für die Antwort, das macht mehr logischen Sinn!!
ich habe führen Sie den gleichen code in meiner Lampe, aber es ist nicht zurückgegebene Ausgabe.wenn ich denselben Befehl in meine bash gibt es die Ausgabe.
InformationsquelleAutor amaster