使用PHP连接SSH

时间:2015-12-22 10:48:55

标签: php ssh exec phpseclib

我正尝试使用以下代码通过SSH连接到服务器:

include('Net/SSH2.php'); 
$ssh = new Net_SSH2('mydomain.com'); 
if (!$ssh->login('xxxx', 'xxxx')) { 
   exit('Login Failed'); 
}else{ 
   echo "connected"; 
} 
echo $ssh->exec('pwd');

它显示connected但它没有显示代码的输出 echo $ssh->exec('pwd');

为什么?

日志消息

-> NET_SSH2_MSG_CHANNEL_REQUEST (since last: 0.0002, network: 0s)
00000000  00:00:00:00:00:00:00:04:65:78:65:63:01:00:00:00  ........exec....
00000010  03:64:69:72                                      .dir

<- NET_SSH2_MSG_CHANNEL_FAILURE (since last: 0.0611, network: 0.0001s)
00000000  00:00:00:00                                      ....

1 个答案:

答案 0 :(得分:0)

你可以在php中使用'ssh2_connect'函数。 使用'ssh2_exec'并将结果存入$ var。

最后你可以使用'stream_get_contents($ var);'返回结果代码命令ssh

不要忘记'sleep(1)'函数php以防止在启动ssh命令后出错。

'ssh2_exec'是一个资源php。