Marcel Georgi
2005-03-26 10:56:46 UTC
HI,
Ich möchte auf meinem Linuxrechner über PHP bestimmte Befehle ausführen.
Das Problem jedoch ist, dass ich nicht weiß wie ich den SSH-Key zum
SSH-Server übertragen muss damit überhaupt eine Verbindung aufgebaut
werden kann.
Mit dem folgenden Script würde nur eine Verbindung über Telnet
funktionieren:
<?
function command($strCommand) {
echo $strCommand."<br>";
return $strCommand;
}
$ssh = fsockopen("192.168.0.2","22");
if ($ssh <= 0) echo "Fehler ...";
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("username\r\n"));
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("passwort\r\n"));
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("dir\r\n"));
echo fgets($ssh, 1024)."<br>";
?>
Über Telnet (Port 23) würde jetzt im Browser der Inhalt des
Home-Verzeichnises von "Username" ausgegeben werden.
Verwende ich im Script nur die ersten 3 Zeilen:
$ssh = fsockopen("192.168.0.2","22");
if ($ssh <= 0) echo "Fehler ...";
echo fgets($ssh, 1024)."<br>";
Erscheint im Browser lediglich:
SSH-1.99-OpenSSH_3.4p1
Versuche ich mich über einen normalen Telnet-Clienten über den Port 22
auf den Linux-Rechner einzulogen, so erscheint auch nur die obige Zeile
im Ausgabefenster. Nehme ich stattesen eine spezielle
SSH-Client-Software so erscheint zumindest die Eingabeaufforderung,
welche nach dem Benutzernamen und dem dazugehörigen Passwort frägt. Nur,
wie bekomme ich dies auch über PHP zum laufen?
Viele Grüße,
Marcel Georgi
Ich möchte auf meinem Linuxrechner über PHP bestimmte Befehle ausführen.
Das Problem jedoch ist, dass ich nicht weiß wie ich den SSH-Key zum
SSH-Server übertragen muss damit überhaupt eine Verbindung aufgebaut
werden kann.
Mit dem folgenden Script würde nur eine Verbindung über Telnet
funktionieren:
<?
function command($strCommand) {
echo $strCommand."<br>";
return $strCommand;
}
$ssh = fsockopen("192.168.0.2","22");
if ($ssh <= 0) echo "Fehler ...";
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("username\r\n"));
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("passwort\r\n"));
echo fgets($ssh, 1024)."<br>";
fputs($ssh, command("dir\r\n"));
echo fgets($ssh, 1024)."<br>";
?>
Über Telnet (Port 23) würde jetzt im Browser der Inhalt des
Home-Verzeichnises von "Username" ausgegeben werden.
Verwende ich im Script nur die ersten 3 Zeilen:
$ssh = fsockopen("192.168.0.2","22");
if ($ssh <= 0) echo "Fehler ...";
echo fgets($ssh, 1024)."<br>";
Erscheint im Browser lediglich:
SSH-1.99-OpenSSH_3.4p1
Versuche ich mich über einen normalen Telnet-Clienten über den Port 22
auf den Linux-Rechner einzulogen, so erscheint auch nur die obige Zeile
im Ausgabefenster. Nehme ich stattesen eine spezielle
SSH-Client-Software so erscheint zumindest die Eingabeaufforderung,
welche nach dem Benutzernamen und dem dazugehörigen Passwort frägt. Nur,
wie bekomme ich dies auch über PHP zum laufen?
Viele Grüße,
Marcel Georgi