You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Sean Hsu <se...@gmail.com> on 2022/04/07 19:15:10 UTC

VNC connection: Cannot connect. Connection already in use by this user.

I'm trying to set up Guacamole on a home Ubuntu 20.04 desktop. I can get an
SSH connection to work but I'm having a hard time with the VNC. Can anyone
point me in the right direction? I have jotted down the summary and my
setup as well as some troubleshooting done thus far.

SUMMARY OF ERROR MESSAGES

   - guacamole web app error message:
      - "The Guacamole server is denying access to this connection because
      you have exhausted the limit for simultaneous connection use by an
      individual user. Please close one or more connections and try again."
   - In the Chrome or Firefox developer console, network/XHR, I'm pasting
   a few request/response headers:
      - Request URL: http://localhost:8080/guacamole/tunnel?connect
      - Response Status Code: 429
      - Response Headers:
         - Guacamole-Error_message: Cannot connect. Connection already in
         use by this user.
         - Guacamole-Status-Code: 797
      - In the guacd docker container:
      - guacd[7]: DEBUG: Guacamole connection closed during handshake
      guacd[7]: DEBUG: Error reading "select": End of stream reached while
      reading instruction
   - In the guacamole docker container:
      - 18:13:26.091 [http-nio-8080-exec-9] ERROR
      o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket
tunnel to
      guacd failed: Cannot connect. Connection already in use by this user.
      18:13:26.116 [http-nio-8080-exec-6] WARN
       o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request
rejected: Cannot
      connect. Connection already in use by this user.

MY INSTALLATION AND TROUBLESHOOTING DONE SO FAR

   - Environment
      - Ubuntu 20.04 desktop
      - working tiger VNC server setup at display number 1, which I have
      been using for SSH-tunneled VNC connection for 2 years
   - I followed the official doc to set up three containers. The guacamole
   links to the guacd and mysql. The web app came up fine and I can login to
   configure settings.
   - I easily got an SSH connection to work. For VNC connections, I tried
   both guacamole at the latest and at tag 1.4.0 and it made no difference
   - ~$ sudo docker ps
   CONTAINER ID   IMAGE                       COMMAND
    CREATED        STATUS                    PORTS
             NAMES
   b0c49ab0fb8f   guacamole/guacamole:1.4.0   "/opt/guacamole/bin/??"   20
   hours ago   Up 42 minutes             0.0.0.0:8080->8080/tcp,
   :::8080->8080/tcp   some-guacamole
   969afbd569c2   guacamole/guacd             "/bin/sh -c '/usr/lo??"   21
   hours ago   Up 43 minutes (healthy)   4822/tcp
          some-guacd
   3e490e948aa6   mysql/mysql-server:latest   "/entrypoint.sh mysq??"   38
   hours ago   Up 42 minutes (healthy)   3306/tcp, 33060-33061/tcp
         mysql-docker
   - On my Ubuntu host, I have proper firewall settings
      - ports ssh 22, apache 80/443 are wide open, and my VNC server is
      sitting on 0 0.0.0.0:5901 and is open to 172.17.0.0/24
   - My docker0 is recognized by the host as 172.17.0.1
      - $ ifconfig docker0
      docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
   - From within the guacd container, I can telnet to my docker host's SSH
   server (172.17.0.1:22), Apache server(172.17.0.1:80/443), and VNC server
   (172.17.0.1:5901)
   - In addition to the SSH connection working out of the box with
   guacamole install, from within the guacamole container, I could telnet to
   the guacd at port 4822 and paste the following vnc handshake
   (6.select,3.vnc;) and got a proper response.
      - ~$ sudo docker inspect some-guacd|grep IPAddress
                  "SecondaryIPAddresses": null,
                  "IPAddress": "172.17.0.2",
                          "IPAddress": "172.17.0.2",
      ~$ sudo docker exec -u0 -it some-guacamole bash
      root@b0c49ab0fb8f:/opt/guacamole# telnet 172.17.0.2 4822
      Trying 172.17.0.2...
      Connected to 172.17.0.2.
      Escape character is '^]'.
      6.select,3.vnc;

      4.args,13.VERSION_1_3_0,8.hostname,4.port,9.read-only,9.encodings,8.username,8.password,13.swap-red-blue,11.color-depth,6.cursor,9.autoretry,18.clipboard-encoding,9.dest-host,9.dest-port,12.enable-audio,16.audio-servername,15.reverse-connect,14.listen-timeout,11.enable-sftp,13.sftp-hostname,13.sftp-host-key,9.sftp-port,13.sftp-username,13.sftp-password,16.sftp-private-key,15.sftp-passphrase,14.sftp-directory,19.sftp-root-directory,26.sftp-server-alive-interval,21.sftp-disable-download,19.sftp-disable-upload,14.recording-path,14.recording-name,24.recording-exclude-output,23.recording-exclude-mouse,22.recording-include-keys,21.create-recording-path,12.disable-copy,13.disable-paste,15.wol-send-packet,12.wol-mac-addr,18.wol-broadcast-addr,12.wol-udp-port,13.wol-wait-time,14.force-lossless;