phpseclib does SSH without PECL extension and only with fsockopen:

http://phpseclib.sourceforge.net/

On Sun Apr  4 21:09:54 2010, Hans_Åhlin wrote:
> Instead of ssh, you could use telnet to connect to the Cisco router
> (which incidentally runs on port 23, but is likely to be disabled on
> the cisco router, unless you have a pre-SSH capable IOS running on it
> (like my old cisco crap :( ) ), because i strongly doubt you have
> written or are willing to write your own encryption libraries for this
> project, you might also want to read IETF RFC 854
> [http://tools.ietf.org/html/rfc854] about the telnet protocol, as you
> are writing your own client, and not using a pre-made one, judging
> from your script.
> Or if you do not like the idea of sending clear-text passwords to the
> router, you might want to learn about proc_open() (or popen()) and use
> the native ssh utility that most likely is present on the server,
> taking great care to READ THE MANUAL for the ssh command, because you
> most likely do _not_ want it to spit out ANSI-escapes to you script.
>
> Kind regards from
> Johan Lidström
> Örnsköldsvik, Sweden
> irc://irc.freenode.net/Dr_Kao
> frozendude+php...@gmail.com
>
> P.S. currently borrowing a friends account.
>
> 2010/4/5 Radek Krejča <radek.kre...@starnet.cz>:
>> Hello,
>>
>> I am trying send command to remote host over ssh with sockets. But I need to 
>> set up username/password. I am trying to modify this script (from 
>> www.php.net - function fsockopen), but I dont know, where set 
>> username/password because I got this message:
>> Bad protocol version identification 'password' from ip
>>
>> Library ssh2 is not currentu userfull for me, because I am not admin of 
>> server.
>>
>> Thank you
>> Radek
>>
>>
>> <?php
>> /************************************************************
>> * Author: Richard Lajaunie
>> * Mail : richard.lajau...@cote-azur.cci.fr
>> *
>> * subject : this script retreive all mac-addresses on all ports
>> * of a Cisco 3548 Switch by a telnet connection
>> *
>> * base on the script by: xbensemhoun at t-systems dot fr on the same page
>> **************************************************************/
>>
>> if ( array_key_exists(1, $argv) ){
>>   $cfgServer = $argv[1];
>> }else{
>>   echo "ex: 'php test.php 10.0.0.0' \n";
>>   exit;
>> }
>>
>> $cfgPort    = 23;                //port, 22 if SSH
>> $cfgTimeOut = 10;
>>
>> $usenet = fsockopen($cfgServer, $cfgPort, $errno, $errstr), $cfgTimeOut);
>>
>> if(!$usenet){
>>       echo "Connexion failed\n";
>>       exit();
>> }else{
>>       echo "Connected\n";
>>       fputs ($usenet, "password\r\n");
>>       fputs ($usenet, "en\r\n");
>>       fputs ($usenet, "password\r\n");
>>       fputs ($usenet, "sh mac-address-table\r\n");
>>       fputs ($usenet, " "); // this space bar is this for long output
>>
>>       // this skip non essential text
>>       $j = 0;
>>       while ($j<16){
>>       fgets($usenet, 128);
>>       $j++;
>>       }
>>   stream_set_timeout($usenet, 2); // set the timeout for the fgets
>>   $j = 0;
>>       while (!feof($usenet)){
>>       $ret = fgets($usenet, 128);
>>       $ret = str_replace("\r", '', $ret);
>>       $ret = str_replace("\n", "", $ret);
>>       if  (ereg("FastEthernet", $ret)){
>>           echo "$ret \n";
>>       }
>>       if (ereg('--More--', $ret) ){
>>           fputs ($usenet, " "); // for following page
>>       }
>>       $info = stream_get_meta_data($usenet);
>>       if ($info['timed_out']) {
>>           $j++;
>>       }
>>       if ($j >2){
>>           fputs ($usenet, "lo");
>>           break;
>>       }
>>   }
>> }
>> echo "End.\r\n";
>> ?>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to