我正在构建一个远程API,它将通过SSH从A10负载均衡器中提取数据,并以JSON格式将其提供给Web前端。我更喜欢phpseclib库,因为我已经将它用于类似的东西,但使用其他设备(rhel服务器,cisco路由器等)。这就是问题,当我尝试了phpseclib的$ ssh-> exec(“show gslb service-ip”)时,A10负载均衡器正在提供一些命令行语法问题;
我没有错误地学习A10负载均衡器命令行语法,以确切知道在哪里查找问题。
我还在我的服务器上安装了sshpass来进行一些测试并返回相同的内容,因此我不确定问题是什么,因为Google没有发现任何问题。它可能是一个简单的修改phpseclib?一个简单的一个班轮黑客?救命啊!
<?php
include_once("phpseclib/Net/SSH2.php");
$ssh = new Net_SSH2("<a10 load balancer ip>");
if(!$ssh->login("<username>","<password>")) {
echo 0;
} else {
echo "Pulling configuration...";
echo $ssh->exec("show gslb service-ip");
}
?>
当我从命令行执行
时,这是我的回复[root@<servername> php]# php controller.php
Pulling configuration...
/a10/bin/rimacli: invalid option -- c
[root@<servername> php]#
谷歌搜索“/ a10 / bin / rimacli:无效选项 - c”并没有提供太多,因为我确信这只是A10负载均衡用户很少看到的选项/语法命令行。
到A10的SSH有什么不同?帮助:)
答案 0 :(得分:0)
没关系,它已经有了一个API :)现在只需要学习这些方法。示例请求:
[root @ servername php] #curl -qk&#34; https:/// services / rest / V2 /?method = authenticate&amp; username =&amp; password =&amp; format = json&#34; {&#34; session_id&#34;:&#34; 07d68e681102200700f1aea46574f7&#34;} [root @ servername php]#