使用 PHP/Python 通过 SSH 从远程 telnet 服务器访问数据
我有一台运行本地 telnet 守护进程的 CentOS 5.5 服务器(只能从本地主机访问),当通过 telnet 发送正确的命令时,它会打印出我们会计系统上的活动用户列表。我需要在我们使用 PHP 的 Intranet 网站上提供此信息。
我使用 telnetlib 模块编写了一个 Python 脚本,在 CentOS 服务器上本地运行,它只是捕获 telnet 命令的输出并将其打印到 stdout。我已经在 Web 服务器和 CentOS 服务器之间设置了基于密钥的 ssh,以便从 Web 服务器远程运行 python 脚本。我可以使用 ssh 从 Web 服务器成功执行该脚本,并将用户列表打印到 Web 服务器上的标准输出。我希望能够执行此 SSH 命令并将结果捕获到变量中以显示在网站上。
但是,我无法使用 exec()、shell_exec()、passthru() 或任何其他 PHP exec 函数来显示数据。我很清楚我可能从完全错误的角度来处理这个问题!捕获 ssh 输出的最佳方法是什么?
I have a CentOS 5.5 server running a local telnet daemon (which is only accessible from localhost) which prints out a list of active users on our accounting system when sent the correct commands through telnet. I need to make this information available on our intranet website which uses PHP.
I've written a Python script using the telnetlib modules to run locally on the CentOS server which simply captures the output of the telnet command and prints them to stdout. I've setup key based ssh between the web server and the CentOS server to run the python script remotely from the web server. I can execute the script successfully from the web server using ssh and it prints the list of users to stdout on the webserver. I was hoping to be able to execute this SSH command and capture the results into a variable to display on the website.
However, I can't get exec(), shell_exec(), passthru() or any other PHP exec function to display the data. I'm well aware that I may be approaching this from the totally wrong angle! What would be the best way to capture the output from ssh?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不将标准输出重定向到文件。然后使用你的php网站框架读取文件并显示结果
Why don't you redirect your stdout to a file. Then use your php website framework to read the file and display the results