2013-03-06 87 views
2

最近我遇到了这个库,它允许我通过ssh连接到远程机器。 。(这种情况下,假123.45.67.890图书馆是 shukydvir在CodeIgniter控制器中建立SSH连接

我跟着overview选项卡中的说明,但是,如下图所示:

public function deploy_test() 
{ 
    $params = array( 
       'hostname' => "123.45.67.890", 
       'port' => 23, 
       'username' => "username", 
       'password' => "password" 
       ); 

    if(!($con = $this->ssh->connect($params))) { 
     echo json_encode("fail: unable to establish connection\n"); 
    } 
    else { 
     echo json_encode("helloworld"); 
    } 
} 

,当我回来的网页是:

fail: unable to establish connection 

因此,厌倦了,我装ssh2库,我重申我的服务器:

public function deploy_test() { 
    $connection = ssh2_connect("123.45.67.890", 23); 

    if(!$connection) { 
     echo json_encode('Connection failed'); 
    } 

    ssh2_auth_password($connection, "username", "password"); 
    $stream = ssh2_exec($connection, "ls -l"); 
    stream_get_blocking($stream, true); 
    $output = ""; 
    while($line = fgets($stream)) { 
     $output .= $line; 
    } 
    echo json_encode($line); 
} 

结果并不乐观:

<p>Severity: Warning</p> 
<p>Message: ssh2_connect(): Unable to connect to 123.45.67.890 on port 23</p> 
<p>Filename: controllers/automation.php</p> 
<p>Line Number: 70</p> 

然而,当我从我的test.php文件执行相同的脚本,我得到:

02/13/2013 10:41 PM    . 
02/13/2013 10:41 PM    .. 
02/13/2013 10:41 PM    952 FreeSSHd.lnk 
       1 File(s)   952 bytes 
       2 Dir(s) 55,343,263,744 bytes free 

其他服务器已安装freSSHD,它的准备做连接。我已经尽力了。有人可以帮我吗?

+0

所以你说它的工作原理你的'test.php'文件,但不是从CodeIgniter控制器运行相同的代码时? – 2013-03-06 03:48:43

+0

@MattB。这正是我所说的......你能相信吗? – cybertextron 2013-03-06 17:00:31

+0

您可以创建一个只包含'deploy_test()'方法的新控制器,并且如果您使用的是自定义控制器基类,那么它是否继承自'CI_Controller'?然后将测试控制器的完整代码发布到gist.github.com或pastebin上。也许它会帮助我们隔离这个问题。 – 2013-03-06 17:05:34

回答

0

笨,SSH2图书馆使用PHP的本机功能ssh2_connect(),它是一个基于SFTP安全外壳登录和基本连接到端口22试着改变你的端口:

$connection = ssh2_connect("123.45.67.890", 22); 
+0

是的,但仍然取决于域/ ip设置为处理ssh连接的端口 – PinoyPal 2013-03-06 08:18:01

+0

@PinoyPal我的'freeSSHD'设置为接收通过'23'端口连接。但是,最让我感到困扰的是为什么当我执行'test.php'时它工作正常...... – cybertextron 2013-03-06 17:01:37