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