[PHP] Shellzugriff über ssh oder direkt? Wie ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
|L1n3
Mitglied
Beiträge: 15
Registriert: 20.05.2007 22:05
Kontaktdaten:

[PHP] Shellzugriff über ssh oder direkt? Wie ?

Beitrag von |L1n3 »

Hallo
für ein Projekt muss ich über PHP einige shell-befehle ausführen auf dem server. Die Ausgabe der befehle muss dann an php übergeben werden und wird dann vom script weiterverarbeitet.
Nun ist die Frage: Wie stell ich das an ? Habe schon über das Modul ssh2 einiges probiert, unter anderem:

Code: Alles auswählen

<?php
$connection = ssh2_connect('xxxxx.de', 22);
ssh2_auth_password($connection, 'user', 'Password');

$stream = ssh2_exec($connection, 'befehl');
?> 
Die Ausführung über den php-interpreter endet nicht, hängt also irgendwo fest.
Weiss jemand Rat ?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Sind Befehle wie [php:system](), [php:shell_exec]() oder [php:exec]() deaktiviert?
Oder musst du die Befehle auf einem anderen Server ausführen?
Ansonsten wäre das wohl eine Alternative.

Mit einer SSH Verbindung über PHP kenne ich mich leider nicht genügend aus um dir da weiterzuhelfen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Ich würde dir empfehlen, das über den ssh Befehl (mit public key authentication) und eine der von gn#36 genannten Funktionen zu machen:

Code: Alles auswählen

$retval = shell_exec('ssh user@host Befehl');
KB:knigge
|L1n3
Mitglied
Beiträge: 15
Registriert: 20.05.2007 22:05
Kontaktdaten:

Beitrag von |L1n3 »

Für system(), exec() usw. fehlen glaube ich die extension.
Deswegen hatte ich mir gestern die extension ssh2 kompiliert und eingebacken.
Nun bräuchte ich ein Script das einen Befehl auf dem lokalen Server ausführt (eben über ssh) und die shell-ausgabe ausgibt.
Ich hab schon alles erdenkliche probiert, komme aber nicht zu einem Ergebnis.

edit: Der Safe_Mode ist natürlich NICHT an !
Antworten

Zurück zu „Coding & Technik“