Remote auf Server einloggen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Remote auf Server einloggen

    Hallo an alle,

    ich habe mal eine für mich äusserst komplizierte Frage.

    Ist es mit PHP möglich eine SSH-Verbindung zu einem fremden Server aufzubauen, und dann dort irgendwie tätig zu werden?

    irgendwie mit
    $handle=fopen('http://server.de:22,x+);
    exec('rm -r ./');

    auf dem entfernten Rechner ausführen? Ich will mit PHP also auf dem anderen Rechner system-befehle ausführen.

    Geht das? Anders als ich vorgeschlagen habe?


    mfg Martin
    Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

  • #2
    Dafür sei dir die Funktion fsockopen ans Herz gelegt. Mit fopen wirst du da nicht weit kommen.

    Kommentar


    • #3
      und ob es mit fsockopen() klappt sei auch noch dahingestellt.

      schliesslich will er einen shell-zugriff haben, wenn ich ihn recht verstanden habe.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Jetzt mal ernst

        Grüsst euch zusammen,

        ok, nachdem ich das projekt jetzt ne weile mangels lust und druck :-] habe liegen lasse, würd ichs jetzt doch gerne hinbekommen.

        Also, erstmal der aktuelle Projektstand:

        Der Code von PHP.NET auf SSH gemünzt:
        PHP-Code:
        //Verbindung zum mailserver herstellen
        $server['ip']='10.90.1.123';     //Ip des angesprochenen Server
        $server['port']='22';           //Telnet 23, SSH 22
        $server['timeout']='5';        //Timeout des Servers

        $connection fsockopen($server['ip'],$server['port'], $errno$errstr$server['timeout']);  //Verbindung herstellen

        if(!$connection)
                {
                echo 
        "Konnte Verbindung nicht herstellen\n";
                exit();
                }
        else
                {
                echo 
        "Verbindung hergestellt\n<BR>";
            
        fputs ($connection"root\r\n");
                
        fputs ($connection"password\r\n");
                
        fputs ($connection"tutu\r\n");
                
        fputs ($connection"ls -l\r\n");
                while (!
        feof($connection))
                        {
                        echo 
        fgets($connection,128)."<BR>\n";
                        }
                }
        print 
        $errno.'<br>';
        print 
        $errstr.'<br>'
        So, dann die Ausgabe der Seite nach dem Aufruf:
        Code:
        Verbindung hergestellt 
        SSH-2.0-OpenSSH_3.4p1 Debian 1:3.4p1-1 
        
        0
        Und jetzt noch die Fehleranalyse mittels auth.log
        Code:
        Nov  6 18:22:25 mail2 sshd[27717]: Bad protocol version identification 'root' from 10.90.10.1
        Ich finde das Beispiel von PHP.net übrigens sehr schlecht, es wird nicht erklärt warum er hier und da tutu oder solche Wörter benutzt, ob das Sinn ergibt oder ob ich dort auch essenmarke einsetzen kann.

        Hier der Link zum Bsp.:
        LINK
        Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

        Kommentar

        Lädt...
        X