通过SSH隧道远程连接到XenServer VNC控制台

时间:2014-12-16 17:29:44

标签: php ssh xen vnc-viewer

我正在尝试从PHP / HTML网页连接到我的XenServer VM控制台。

VNC控制台只接受来自localhost的连接,每个控制台使用不同的端口(5902,5903,5904等)。

按照in this post

列出的说明进行操作

我可以通过使用Putty打开SSH隧道,然后转发端口(例如5902)来连接到控制台。然后我可以使用localhost:5902使用VNC客户端进行连接。

我现在正试图通过网页找到一种方法。

如果我在PC上通过putty设置隧道,然后使用通过网站加载的TightVNC java applet,我可以连接到控制台。

  • My-PC - 192.168.0.3
  • apache - 192.168.0.200
  • XenServer - 192.168.0.100
  

My-PC - > SSH隧道 - >的XenServer

     

VNC-client(192.168.0.3) - > localhost:5902(Putty tunnel) - >   VNC控制台(192.168.0.100:5902)

我需要一种以编程方式执行此操作的方法。

我已经安装了ssh2扩展程序并且尝试过这样:

$connection = ssh2_connect("192.168.0.100", 22);
if(ssh2_auth_password($connection, "user", "password"))
{
    if ($tunnel = ssh2_tunnel($connection, "127.0.0.1", 5902))
    {
        echo "Tunnel creation complete.\n";
    }else{
        echo "Tunnel creation failed.\n";
    }
} 
else
{
    echo "failed!";
}

<applet archive="tightvnc-jviewer.jar"code="com.glavsoft.viewer.Viewer" width="1" height="1">
    <param name="Host" value="localhost" /> 
    <param name="Port" value="5902" /> 
    <param name="OpenNewWindow" value="yes" />
    <param name="ShowControls" value="yes" />
    <param name="ViewOnly" value="no" />
    <param name="AllowClipboardTransfer" value="yes" />
    <param name="RemoteCharset" value="standard" /> 
    <param name="ShareDesktop" value="yes" /> 
    <param name="AllowCopyRect" value="yes" /> 
    <param name="Encoding" value="Tight" /> 
    <param name="CompressionLevel" value="" /> 
    <param name="JpegImageQuality" value="" /> 
    <param name="LocalPointer" value="On" /> 
    <param name="ConvertToASCII" value="no" /> 
    <param name="colorDepth" value="" /> 
    <param name="ScalingFactor" value="100" /> 
    <param name="AllowAppletInteractiveConnections" value="no" />
</applet>

所以我的主要问题是如何使用applet从网页隧道进入这些VNC控制台?

0 个答案:

没有答案