系统:均为centos5(linux)
本机:192.168.0.76
远程机:192.168.0.77
本意:是想要使76这台机器作为”监控机“,监控其他机器,所以在76机器上就要能通过php连接其他机器,并查看设计者需要的诸如”df -h“命令的返回信息。
php的函数大部分都是查看”本机“的。比如,通过web访问了76机器上的php(该php有如下语句:$results = passthru('df -h'); ),返回的是76机器的系统资源概况。
目的:我想要访问76上的某php,然后得到77机器的系统资源概况
有过的想法:
访问76机器上的php文件,试过:
1:
passthru('ssh [email protected]',$returnval);
然后继续加入:$results = passthru('df -h');
事实证明了我太天真了。。我后来的理解是php一个语句结束就返回了本机环境,所以直接输入查询命令,得到的当然是本机的信息
2:
想过popen函数,
$result3 = popen("ssh [email protected]","r");打开一个完整进程,然后输入命令,结果还是不行。得到的资源信息仍然是76机器的。
我感觉想法2的思路还是有点靠谱的,就是缺点关键的东西,才能实现我想要的功能。
综上是偶的想法,大侠们明白我想要的东西了吧。。
偶最想要的就是得到类似的东西:
$result = popen("ssh [email protected]","r");//打开了远程连接77机器的进程
接着是尽情的操作命令,都是在77机器上进行的,比如发送了df -h ,得到的是77的信息
$results2 = passthru('df -h');//通过它来发送是不行的
两台机器做了密钥交换,所以可以直接ssh连接不用输入密码
偶想知道的就是,如何才能远程连接了77机器,然后通过什么函数(及什么格式),发送了查看命令得到的是77机器的信息。。
感谢了。。。老规矩,得到满意答案以后追加150分。。。
1楼的兄弟。ssh我当然安装了。我的提问是
1如何使用php来完成远程连接其他主机
2并且在php中通过怎样的操作步骤达到对远程主机发送查看系统信息命令
3并返回想要的信息结果
的目的。在76这台机器中连接远程主机。我已经掌握了。我要的是php环境下的操作。
不太明白,能告诉我怎么写么?就是这个“在线操作入口”。
汗一个,我只知道 exec("command",$data); 能具体告诉我 在线操作入口应该在括号里填写什么么?