从php页面获取我的路由器VIA SSH CLI的信息

全部,</ p>

我是php的新手(简单的形式和 你好世界的东西)</ p>

我正在尝试创建一个页面,加载后会从我的路由器上的SSH会话中获取一些文本信息解析并显示它</ p>

一般的想法是</ p>

连接到(ip地址,端口)
send行(loginuser +密码)
send行(su到root +密码)\ nsend line(command)
nceceive text from command(string X)</ p>

解析x并在页面上显示html作为html </ p>

我看过一个 关于如何从ubuntu安装库的教程很少,但我的主机是godaddy所以我不能以这种方式安装任何东西(我只有简单的ftp访问权限)</ p>

我正在寻找一个 简单简单的简单ssh客户端,希望是一个如何使用它的小例子(发送命令和检索文本)</ p>

谢谢你能提供帮助</ p>
</ div>

展开原文

原文

All,

I'm fairly new to php (simple forms and hello world stuff)

I'm trying to create a page that when loaded will go out grab some text information from a SSH session on my router parse it out and display it

The general idea would be

connect to (ip address, port) send line (loginuser + Password) send line (su to root + password) send line (command) receive text from command (string X)

parse x and display stats as html on page

I've seen a few tutorials on how to install libraries from ubuntu but my host is godaddy so i wont have access to install anything in that manner (i only have simple ftp access)

I'm looking for a simple simple simple ssh client and hopefully a small example on how to use it (send commands and retrieve text)

Thanks if you can help

2个回答



好的,只是为了学习目的,你可以在你的盒子上用shell_exec连接到ssh的远程主机,运行命令并返回响应, 评估并制作一些不错的统计数据:</ p>

shell_exec(“ssh user@yourhost.com run_your_command”);
http://www.php.net/manual/en/function.shell-exec.php </ p>

< p>我会使用phpseclib( http://phpseclib.sourceforge.net/ ),一个纯PHP的SSH实现 ,或者如果您的主机上可用,则使用SSH2扩展。 http://www.php.net/manual/en/function.ssh2 -exec.php </ p>
</ div>

展开原文

原文

Ok, just for learning purposes, you can shell_exec on your box to connect to remote host with ssh, run a command and return response, evaluate and make some nice stats:

shell_exec("ssh user@yourhost.com run_your_command"); http://www.php.net/manual/en/function.shell-exec.php

I would use phpseclib (http://phpseclib.sourceforge.net/), a pure PHP SSH implementation, or if is available on your host use SSH2 extension. http://www.php.net/manual/en/function.ssh2-exec.php

dongshanfan1941
dongshanfan1941 代码有效,但我无法弄清楚如何su到root? 有什么想法吗
7 年多之前 回复
dongmeiran609914
dongmeiran609914 感谢指针,即时通讯使用<?php include('Net / SSH2.php'); $ ssh = new Net_SSH2('www.domain.tld'); if(!$ ssh-> login('username','password')){exit('Login Failed'); } echo $ ssh-> exec('pwd'); echo $ ssh-> exec('ls -la'); 从示例中我将稍微调整一下
7 年多之前 回复
doucan957495
doucan957495 对于phpseclib,您可以执行新的Net_SSH('hostname',portnum)。 要将命令串在一起......你可以多次执行$ ssh-> exec('...')。 我不确定su,但这里是sudo的工作原理:phpseclib.sourceforge.net/ssh/examples.html#sudo我想su会类似。
7 年多之前 回复
douwu7563
douwu7563 你如何传递密码,你如何SU根?
7 年多之前 回复
duanli9569
duanli9569 还在玩这个,你怎么把命令串在一起
7 年多之前 回复
douqiao6015
douqiao6015 对于shell_exec:您可以为ssh命令本身指定port作为参数:ssh -p4545 yourhost.com
7 年多之前 回复
duandanai6470
duandanai6470 看起来像后面的东西,你如何指定端口(我为安全而更改)yourhost.com:4654654
7 年多之前 回复



在我看来,PHP不是正确的工具,你可以通过期望和一些bash来获得更好的结果。</ p>

期望是一个很好的命令行活动工具。 试着看看 </ p>
</ div>

展开原文

原文

PHP is not the right tool in my opinion, you can achieve better results with expect and some bash stuff.

expect is a good tool for command line activities. Try to have a look

dongzhashou0116
dongzhashou0116 抱歉,我认为godaddy足够具体(也要求php),但感谢你的想法
7 年多之前 回复
dongxiangxie8181
dongxiangxie8181 要看。 有些网络主机允许它们,有些则不允许。 BETWEEN你没有在你的问题中指明它。
7 年多之前 回复
douzhang6646
douzhang6646 我如何从网络主机运行bash脚本?
7 年多之前 回复
dsc862009
dsc862009 只需创建一个bash脚本。
7 年多之前 回复
douzheng1853
douzheng1853 我如何从我的主人那里运行这个?
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问