XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    VM Console Access

    Scheduled Pinned Locked Moved REST API
    15 Posts 3 Posters 550 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I Offline
      irtaza9 @irtaza9
      last edited by irtaza9

      @olivierlambert any comment will help me a lot.

      I am testing to access the console on noVNC official client https://hub.docker.com/r/theasp/novnc but I am getting this error.

      57b77eae-2566-40de-be57-b315e05d56ab-image.png

      can you guys give it a try and share your thoughts? Idk how to pass the token in local noVNC docker image.

      f131f0cf-1c76-4ed3-96da-0889a3982895-image.png

      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        That's almost a question for the DevOps Team Tool I suppose 🤔

        Ping @nathanael-h

        I 1 Reply Last reply Reply Quote 0
        • I Offline
          irtaza9 @olivierlambert
          last edited by

          @nathanael-h your comments will help me to a lot. I am not able to access my vm console outside.

          this is my url format to access the console.

          wss://domain/api/consoles/vmid
          

          I know we have to pass the token and I have a valid admin token but still I am not able to get it done.

          nathanael-hN 1 Reply Last reply Reply Quote 0
          • nathanael-hN Offline
            nathanael-h Vates 🪐 DevOps Team @irtaza9
            last edited by

            @irtaza9 Hey, I tried quickly on my local laptop but was not able to handle to auth. So I asked internally who already knows how this works. (Unfortunately I cannot spend multiple hours on this)

            I 2 Replies Last reply Reply Quote 0
            • I Offline
              irtaza9 @nathanael-h
              last edited by

              @nathanael-h

              this is my code to test console for vms but I am not able to access it. Actually I have to access the console but I do not know how do auth for this.

              I nathanael-hN 2 Replies Last reply Reply Quote 1
              • I Offline
                irtaza9 @irtaza9
                last edited by

                @olivierlambert @nathanael-h

                I am able to solve this and access the vm-consoles on my web app. I deployed the xen orchestra from sources and run on localhost then I run my custom web app on localhost and pass my admin token to set in the cookies and then I got the access to the consoles.

                But when I try to access the console from a different domain then it does'nt work cause it is a cross browser cookie issue. Browser rejects to store the cookie of my production XO. Now I do not know any other way to resolve this cause the authentication mechanism you guy are using is token in cookie.

                4d965647-be5f-4f31-9990-a580a81953e8-image.png

                1b10d65b-9858-4937-a656-fc2ec7c7ffc5-image.png

                suggestion: noVNC supports username & password in the url what if we perform authentication for consoles like this too. Also what about token in query params?

                2ddf6ef9-75cf-494f-b5a3-2e0da5b187f5-image.png

                1 Reply Last reply Reply Quote 0
                • I Offline
                  irtaza9 @nathanael-h
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • nathanael-hN Offline
                    nathanael-h Vates 🪐 DevOps Team @irtaza9
                    last edited by

                    @irtaza9 I am glad to read you find a solution that works for you. And thanks for sharing!

                    I 1 Reply Last reply Reply Quote 0
                    • I Offline
                      irtaza9 @nathanael-h
                      last edited by

                      @nathanael-h I got more information as I am still observing few things regarding the console. I got to know that there is no authentication at all on console level and on per user basis.

                      My test use case

                      Vm -> Ubuntu

                      vm:5173 -> custom app
                      vm:3000 -> custom api server

                      vm:ngnix:80/443

                      • rncp.nayatel.com -> localhost:5173
                      • rncpbe.nayatel.com -> localhost:3000

                      My XOA is running on xenorchestra1.nayatel.com which is on private network and my vm is allow in the route so I can connect to it. Now my custom work and XOA is on the same domain with same SSL certs. Now When I go to my rncp.nayatel.com and place any VM ID in the query param then the console for my VM is accessible on my custom web app and my this app is calling an api to rncpbe.nayatel.com for authentication only and returns the wss url to my frontend app and then my frontend app uses that url and create the socket on noVNC and console gets accessed.

                      From this It is my conclusion that XOA do not perform authentication on console access it only checks the cross-domain and it also do not need token in cookies for console authentication.

                      58091d92-7099-4e9e-8054-d5afb8f95596-image.png

                      9e0af28d-9f2b-4acb-bafe-c3b64cbc3470-image.png

                      b0e782c5-0760-46ac-8e8d-18893fc2ab65-image.png

                      4e2d55b7-4818-4ad3-acf0-0057adf89346-image.png

                      I 1 Reply Last reply Reply Quote 0
                      • I Offline
                        irtaza9 @irtaza9
                        last edited by

                        @nathanael-h @olivierlambert

                        extending this thread because still relevant

                        The console is using RFB protocol for streaming, right now each user who have an access to a VM console is seeing the same console that is seen by other. Is there any way to give each user their own console?

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by olivierlambert

                          Hi,

                          No, there's only one console, which is the "virtual screen" of the VM. If you want multi user thing, check VDI solution, like UDS Enterprise https://docs.xcp-ng.org/project/ecosystem/#uds-enterprise

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post