Удаленное подключение к консолям XenServer VNC через туннель SSH

Я пытаюсь подключиться к моей консоли XenServer VM с веб-страницы PHP / HTML.

Консоли VNC принимают соединения только от localhost, каждая консоль использует свой порт (5902, 5903, 5904 и т. Д.).

Следуя инструкциям в этом посте

Я могу подключиться к консолям, используя Putty, чтобы открыть туннель SSH, а затем перенаправить порт (например, 5902). Затем я могу подключиться с помощью клиента VNC, используя localhost:5902,

Я сейчас пытаюсь найти способ сделать это через веб-страницу.

Если я установлю туннель через putty на моем компьютере, а затем использую Java-апплет TightVNC, загруженный через веб-сайт, я могу подключиться к консолям.

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

Мой ПК -> Туннель SSH -> XenServer

VNC-клиент (192.168.0.3) -> localhost: 5902 (туннель Putty) ->
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>

Итак, мой главный вопрос: как мне туннелировать эти консоли VNC с веб-страницы с помощью апплета?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]