2012-10-23 55 views
0

我想連接到與PHP建立SSH連接我的託管公司說我們不允許在共享服務器上的SSH連接..所以有任何解決方法,我可以用來連接一些其他功能。在共享主機上的ssh2_connect的解決方法

<?php 


    if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist"); 
    // log in at server1.example.com on port 22 
    if(!($con = ssh2_connect("server5500.asd.com", 22))){ 
     echo "fail: unable to establish connection\n"; 
    } else { 
     // try to authenticate with username root, password secretpassword 
     if(!ssh2_auth_password($con, "asd", "[email protected]")) { 
      echo "fail: unable to authenticate\n"; 
     } else { 
      // allright, we're in! 
      echo "okay: logged in...\n"; 

      // execute a command 
      if (!($stream = ssh2_exec($con, "ls -al"))) { 
       echo "fail: unable to execute command\n"; 
      } else { 
       // collect returning data from command 
       stream_set_blocking($stream, true); 
       $data = ""; 
       while ($buf = fread($stream,4096)) { 
        $data .= $buf; 
       } 
       fclose($stream); 
      } 
     } 
    } 
    ?> 
+0

你想用這種連接做什麼? – Soundz

+0

popen('ssh ...')可能是可能的,但如果'我們不允許SSH連接',那麼post或DNS查找可能被禁用? – symcbean

+0

對於任何嚴重的ISP,「我們不允許SSH連接」意味着到端口22/TCP的傳出連接被**防火牆**,*您可能使用的任何函數*阻止。你也許可以通過在目標主機上的端口443/tcp上打開一個SSH端口來避開這種情況。如果你可以的話。而且在大多數國家,這種伎倆可能足以使你的賬戶以偏見終止;所以真正的答案是,「改變ISP,或者嘗試爲他們提供更多的錢」。 – LSerni

回答