我正尝试使用以下代码通过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 ....
答案 0 :(得分:0)
你可以在php中使用'ssh2_connect'函数。 使用'ssh2_exec'并将结果存入$ var。
最后你可以使用'stream_get_contents($ var);'返回结果代码命令ssh
不要忘记'sleep(1)'函数php以防止在启动ssh命令后出错。
'ssh2_exec'是一个资源php。