1

PHP/HTML Web ページから XenServer VM コンソールに接続しようとしています。

VNC コンソールは localhost からの接続のみを受け入れ、各コンソールは異なるポート (5902、5903、5904 など) を使用します。

この投稿で説明されている手順に従ってください

Putty を使用して SSH トンネルを開き、ポート (たとえば 5902) を転送することで、コンソールに接続できます。次に、を使用して VNC クライアントを使用して接続できますlocalhost:5902

私は今、ウェブページを通じてこれを行う方法を見つけようとしています。

PC でパテを介してトンネルをセットアップし、Web サイト経由でロードされた TightVNC Java アプレットを使用すると、コンソールに接続できます。

  • マイ PC - 192.168.0.3
  • アパッチ - 192.168.0.200
  • XenServer - 192.168.0.100

マイ PC -> SSH トンネル -> XenServer

VNC-client(192.168.0.3) -> localhost:5902(Putty トンネル) -> VNC-console(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>

私の主な質問は、アプレットを使用して Web ページからこれらの VNC コンソールにどのようにトンネリングするかということです。

4

0 に答える 0