如何在Windows环境下通过PHP连接远程Linux盒

时间:2012-08-28 14:00:08

标签: php linux wamp remote-access putty

我在安装了Wamp的Windows XP计算机上。目前,我正在使用putty连接我的远程Linux机箱。

我想通过php shell_exec()方法(cp,ls,...)执行Linux命令。

有人知道如何首先连接我的Linux机器,然后在Windows环境中运行这些命令吗?

任何建议都会受到高度赞赏......

4 个答案:

答案 0 :(得分:1)

您无法在Linux中运行Windows个命令。 您可以使用SSHputty上运行它们。看来你已经跑了。

您可以通过ssh转发连接。在putty屏幕中查看,转到Connection > SSH > Tunnels

然后你添加一个隧道:

source port: 1234 
destination port: localhost:80
type is Local

所以你打开Internet Explorer,输入地址栏:http://localhost:1234然后将端口1234转发到远程linux pc上的端口80

您也可以通过设置

将其转发到WAMP
destination port: *ip of the wamp server*:80

然后,只要Windows正在运行,您就可以从网络外部访问putty个电脑。

答案 1 :(得分:0)

听起来您希望Windows上的PHP脚本在远程Linux服务器上运行SSH命令。为此,请参阅the PHP SSH2 extension

  

绑定到libssh2库,提供对资源的访问   远程计算机上的(shell,远程执行,隧道,文件传输)   使用安全的加密传输。

这将允许您通过SSH连接到Linux服务器并在删除服务器(cpls等)上执行命令。这是一些示例代码:

$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, 'hostname');
echo "Output: " . stream_get_contents($stream);

值得注意的是,这可能不是最安全或最可靠的方法来完成这项任务。

答案 2 :(得分:0)

我认为你不能在Windows机器上执行linux命令。

您可能需要考虑使用OpenSSH for Windows 并跳过php。

但是你会得到一个Windows Shell。 C:\\>而没有lscp,但完全可以控制。

您还可以通过Linux获得实验并运行虚拟机,并与它共享您的Windows驱动器。

remote server linux - - ssh - - > local virtual linux - - - 共享文件夹 - - > windows

答案 3 :(得分:0)

你可以:

我使用的是扩展的SSH2类,可在此处找到:SSH2 with Exception Handling