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+phpdev@xxxxxxxxx > > P.S. currently borrowing a friends account. > > 2010/4/5 Radek Krejča <radek.krejca@xxxxxxxxxx>: >> 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.lajaunie@xxxxxxxxxxxxxxxx >> * >> * 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