无法使用鳄梨酱反向 VNC 连接

Posted

技术标签:

【中文标题】无法使用鳄梨酱反向 VNC 连接【英文标题】:Unable to use Guacamole Reverse VNC connection 【发布时间】:2017-01-04 12:38:30 【问题描述】:

我正在使用 Guacamole v0.9.9 并希望连接到我的 Win 10 笔记本电脑,它位于我的 ISP 的 NAT 后面。

我想我可能必须为此使用 Reverse VNC。此处给出了说明: https://guacamole.incubator.apache.org/doc/gug/configuring-guacamole.html#vnc-reverse-connections

但我使用的是 mysql Auth,如下所述: https://guacamole.incubator.apache.org/doc/0.9.0/gug/mysql-auth.html

问题是我在 VNC 设置中看不到任何反向连接选项,也没有 XML 文件可以放入参数。

也没有说明之后该做什么。在传统的 VNC 连接中,您将在目标中运行客户端,并在提供目标 ip 后以侦听/反向模式运行服务器。在这种情况下,没有客户端在运行。所以我不知道下一步该做什么。

任何帮助将不胜感激。

【问题讨论】:

你也可以use a vnc repeater as described in this answer。 【参考方案1】:

为了设置reverse-connect 功能,您需要做一些事情:

因此,在典型的授权场景中,您在 user-mapping.xml 中有类似的内容,其中包含反向连接的必要信息:

<authorize username="user" password="password">
    <connection name="reverse">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">9999</param>
        <param name="reverse-connect">true</param>
        <param name="listen-timeout">30000</param>
        <param name="autoretry">true</param>
    </connection>
</authorize>

由于您是通过 MySQL 执行此操作,因此原理相同:

连接和参数

每个连接在 guacamole_connection 表中都有一个条目,带有一个 与参数的一对多关系,存储为名称/值对 guacamole_connection_parameter 表。

guacamole_connection 表只是一对独特的和 用于连接的协议的描述性名称。与添加用户相比,添加连接和相应参数相对容易,因为无需生成盐,也无需哈希密码:

-- Create connection
INSERT INTO guacamole_connection (connection_name, protocol) VALUES ('reverse', 'vnc');
SET @id = LAST_INSERT_ID();

-- Add parameters
INSERT INTO guacamole_connection_parameter VALUES (@id, 'hostname', 'localhost');
INSERT INTO guacamole_connection_parameter VALUES (@id, 'port', '9999');
INSERT INTO guacamole_connection_parameter VALUES (@id, 'reverse-connect', 'true');
...

正在连接

在 Guacamole 中打开连接,然后使用 VNC 客户端连接到 Guacamole Server 上的端口(例如,:9999,如上例所示)。如果您不先在 Guacamole 中打开连接,guacd 将不会在给定端口上侦听。

如果设置了user-mapping.xml或包含reverse-connect参数的MySQL授权后无法建立连接,建议安装最新版本的libvncserver,其中有@987654323 @已定义。在执行 Guacamole 的 ./configure 时,您应该注意如果未定义警告:

--------------------------------------------
 No listening support found in libvncclient.
 Support for listen-mode connections will not be built.
--------------------------------------------

【讨论】:

我试过这个在 user-mappind.xml 中给出正确的信息,并使用命令.\tvnserver.exe -controlservice -connect 192.168.0.107:8000 使用tightvnc 服务器从 Windows pc 连接。但是出现错误无法连接tightvnc服务器。【参考方案2】:

为了省点麻烦,您可以使用 vnc 中继器,它会侦听来自 vnc 服务器和查看器的连接,并连接使用相同 id 的服务器和查看器

您可以从here获得一份

获取构建包

Debian 使用

apt-get install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential

CentOS 使用:

yum install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential

获取源到 /usr/local/src

cd /usr/local/src
wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz

解压源文件

gunzip uvncrep017-ws.tar.gz
tar -xvf uvncrep017-ws.tar

安装启动脚本

cd uvncrep017-ws
make; make install;

为服务添加用户

useradd uvncrep

根据需要编辑 /etc/uvnc/uvncrepeater.ini。

检查以下参数:

viewerport = 5901
maxsessions = 10
runasuser = uvncrep
logginglevel = 2
srvListAllow1 = 192.168.0.0 ;Allow network 192.168.x.x
srvListDeny0 = 127.0.0.1 ;Deny loopback
requirelistedserver=1

启动服务

/etc/init.d/uvncrepeater start

原文链接:here

关于这个的讨论:here

【讨论】:

以上是关于无法使用鳄梨酱反向 VNC 连接的主要内容,如果未能解决你的问题,请参考以下文章

鳄梨酱突然停止工作; guacamole.properties 的问题

Docker中的鳄梨酱图像获取空白登录页面

CENTOS7 使用Xmanager和VNC无法连接

ubuntu vnc 连接 侧边栏图标无法正常显示

如何使用VNC连接Linux服务器

vnc怎么设置访问地址,怎样连接 ?怎样操作?