VNC Konsole über die API öffnen

cooper7

New Member
Jul 12, 2021
4
0
1
34
Ich möchte die VNC Konsole zu einem LXC-Server über die API öffnen. Leider bekomme ich ständig die Meldung
Code:
Connection failed (Error 401: No ticket)
. Ich habe auch schon versucht den "PVEAuthCookie" zu setzen mit dem Wert von dem "ticket" aus
Code:
POST /api2/json//nodes/{node}/lxc/{vmid}/vncproxy
. Allerdings klappt das nicht - lediglich wenn ich schon als "root" angemeldet bin und dann über den folgenden Link gehe:
Code:
"https://127.0.0.1:8006/?console=lxc&xtermjs=1&node=pve&resize=scale&vmid=" + vmId + "&path=api2/json/nodes/pve/lxc/" + vmId + "/vncwebsocket?port=" + port + "&vncticket=" + ticket
.

Diesen Link habe ich auch nur aus einem anderen Thread aus diesem Forum - dazu steht nichts in der API Dokumentation.

Kann mir bitte jemand helfen? :)

Beste Grüße
 
Dies sind die Antworten von den beiden API-Endpunkten.

/vncproxy
Code:
{"data":{"user":"root@pam","cert":"certValue-erased","port":"5901"}}

/vncwebsocket
Code:
{"data":{"port":"5901"}}

Ich nutze die Version: 6.4-4
 
Last edited:
Hat niemand eine Idee wie man eine VNC Konsole über die API öffnet?
dafür gibt es ein paar sachen zu beachten

1. man muss eingeloggt sein. das heißt alle verbindungen zum pve müssen ein korrektes cookie gesetzt haben
2. ein POST /api2/json//nodes/{node}/lxc/{vmid}/vncproxy gibt einen port + ticket zurück
3. die websocket verbindung muss in einem novnc als pfad gesetzt werden wobei man port + ticket als parameter mitgeben muss
 
dafür gibt es ein paar sachen zu beachten

1. man muss eingeloggt sein. das heißt alle verbindungen zum pve müssen ein korrektes cookie gesetzt haben
2. ein POST /api2/json//nodes/{node}/lxc/{vmid}/vncproxy gibt einen port + ticket zurück
3. die websocket verbindung muss in einem novnc als pfad gesetzt werden wobei man port + ticket als parameter mitgeben muss
Ich habe bei meiner Recherche folgenden Thread gefunden: https://forum.proxmox.com/threads/accessing-vms-novnc-from-another-website.21200/

Da wird genau die selbe Problematik beschrieben wie ich sie habe und irgendwie finde ich nirgends die Lösung für das Problem.
Ich scheitere schon bei dem ersten Schritt das korrekte Cookie zu setzen. Ich dachte das man das Ticket vom endpoint /vncproxy nutzen soll, aber ich denke mittlerweile das damit eher das /access/ticket gemeint ist oder liege ich da falsch?
Wenn das so ist, dann frage ich mich wie man das so gestalten kann, dass man sich nicht mit dem "root"-Account einloggen muss. Ist die gängige Praxis also das ich für jeden Kunden einen eigenen Proxmox Benutzeraccount erstelle und darüber dann mich mit /access/ticket einlogge und so das Cookie setze?

Vielen Dank schonmal :)
 
Ich scheitere schon bei dem ersten Schritt das korrekte Cookie zu setzen. Ich dachte das man das Ticket vom endpoint /vncproxy nutzen soll, aber ich denke mittlerweile das damit eher das /access/ticket gemeint ist oder liege ich da falsch?
es gibt beim vnc 2 tickets.
1. Cookie PVEAuthCookie von /access/ticket (muss immer als cookie gesetzt sein)
2. das ticket von vncproxy (muss dem vncwebsocket als parameter übergeben werden)

Wenn das so ist, dann frage ich mich wie man das so gestalten kann, dass man sich nicht mit dem "root"-Account einloggen muss. Ist die gängige Praxis also das ich für jeden Kunden einen eigenen Proxmox Benutzeraccount erstelle und darüber dann mich mit /access/ticket einlogge und so das Cookie setze?
2. möglcihkeiten die mir einfallen:
* es gibt einen account der auf die konsole von allen gästen zugriff hat (muss nicht root@pam sein)
hier muss es einen vorgeschalteten service (proxy,etc.) geben der access management macht, sonst kann jeder auf jede vm zugreifen

* jeder user hat nur die rechte auf seinen eigenen gast
access management wird von pve gemacht, allerdings muss man für jeden einen eigenen user im pve anlegen
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!