L’errore 401 permission denied - invalid PVE ticket su Proxmox VE è uno dei problemi piĂą comuni che gli amministratori di sistema si trovano ad affrontare. Si manifesta con disconnessioni improvvise dalla GUI, spesso ogni pochi minuti, su tutti i browser e da qualsiasi client. Questa guida raccoglie tutte le cause possibili e il metodo per identificarle rapidamente.
Come si manifesta il problema
- La GUI di Proxmox chiede il login ogni pochi minuti senza motivo apparente
- Il re-login funziona subito ma il problema si ripresenta
- I log di pveproxy mostrano raffiche di
authentication failure: 401 permission denied - invalid PVE ticket - Il problema si verifica su tutti i browser e in modalitĂ privata
- Tutte le sessioni aperte vengono invalidate contemporaneamente
Diagnostica passo per passo
1. Controlla i log in tempo reale
Il primo passo è sempre monitorare i log nel momento esatto in cui avviene la disconnessione. Apri un terminale e lascia girare questo comando mentre usi la GUI:
journalctl -u pveproxy -u pvedaemon -u pve-cluster -u corosync -f
Quando vieni disconnesso, osserva cosa appare nei secondi precedenti. La causa si trova quasi sempre lì.
2. Verifica la sincronizzazione NTP
Anche pochi secondi di differenza tra i nodi del cluster possono causare errori di autenticazione. Esegui su ogni nodo:
chronyc tracking | grep "System time"
Il valore deve essere inferiore a 1 secondo su tutti i nodi. Se un nodo è fuori sincronia, correggi NTP prima di procedere con qualsiasi altra operazione.
3. Verifica lo stato del cluster e del quorum
Un cluster che perde il quorum invalida le sessioni attive. Controlla:
pvecm status
Il campo Quorate deve essere Yes e tutti i nodi devono essere presenti nella sezione Membership. Se il cluster non è in quorum, il problema è di rete o hardware tra i nodi — risolvi prima quello.
4. Controlla i certificati SSL
Un certificato scaduto causa errori di autenticazione. Verifica su ogni nodo:
openssl x509 -in /etc/pve/local/pve-ssl.pem -noout -dates
Se notAfter e nel passato, il certificato è scaduto. Rigenera con pvecm updatecerts --force in una finestra di manutenzione.
5. Verifica le sessioni VNC/SPICE zombie
Console VNC lasciate aperte nel browser senza essere chiuse correttamente continuano a fare richieste con ticket scaduti, generando raffiche di 401. Controlla se ci sono processi zombie:
ps aux | grep vncshell
Se trovi processi attivi risalenti a giorni fa, killali:
pkill -f vncshell
6. Cerca script o tool di monitoring con ticket scaduti
Se gli errori arrivano con cadenza regolare (ogni 5-10 minuti), quasi certamente c’è un tool esterno che fa polling con un ticket o credenziali non aggiornate. Candidati tipici: Zabbix, Grafana, Terraform, Ansible, Home Assistant con integrazione Proxmox, script bash con token API scaduti. Controlla i log per vedere gli IP sorgente:
journalctl -u pveproxy --since "1 hour ago" --no-pager | grep -i "401|failure|denied"
7. Verifica il timestamp delle authkey — causa spesso trascurata
Questa è la causa meno intuitiva ma sorprendentemente comune dopo un blackout o un riavvio con orologio di sistema sbagliato. Proxmox usa due file per firmare e verificare i ticket di autenticazione. Se questi file hanno un timestamp nel futuro, ogni ticket viene considerato già scaduto quasi immediatamente:
ls -la /etc/pve/authkey.pub
ls -la /etc/pve/priv/authkey.key
La data mostrata deve essere recente (non nel futuro). Se vedi un anno nel futuro come 2034, 2037 o 2038, hai trovato la causa. Il fix è semplice e non distruttivo — basta resettare il timestamp con touch senza modificare il contenuto dei file:
# Eseguire su un solo nodo (pmxcfs sincronizza sugli altri automaticamente)
touch /etc/pve/authkey.pub
touch /etc/pve/priv/authkey.key
systemctl restart pvedaemon pveproxy
# Verifica
ls -la /etc/pve/authkey.pub
Dopo il comando, la data deve mostrare oggi. I ticket torneranno a durare le 2 ore previste e le disconnessioni cesseranno immediatamente. Questa soluzione è confermata ufficialmente dal forum Proxmox e da Fabian Grunbichler, developer del progetto.
Tabella riepilogativa
| Causa | Sintomo | Comando di verifica |
|---|---|---|
| NTP desincronizzato | Errori intermittenti su alcuni nodi | chronyc tracking |
| Cluster senza quorum | Disconnessioni massicce, tutti gli utenti | pvecm status |
| Certificato SSL scaduto | Errori costanti, login impossibile | openssl x509 -in /etc/pve/local/pve-ssl.pem -noout -dates |
| Sessioni VNC zombie | Raffiche di 401 ogni pochi minuti | ps aux | grep vncshell |
| Tool di monitoring con token scaduto | Errori regolari con cadenza fissa | Analisi IP sorgente nei log pveproxy |
| Authkey con timestamp futuro | Disconnessioni ogni 2-5 minuti dopo blackout | ls -la /etc/pve/authkey.pub |
Come prevenire i problemi piĂą comuni
- UPS con shutdown automatico: protegge da blackout che corrompono timestamp e file di sistema
- Chiudi sempre le console VNC dalla GUI prima di chiudere il browser, per evitare sessioni zombie
- Aggiorna i token API dei tool di monitoring quando cambi le password di Proxmox
- Configura makestep in chrony per correggere automaticamente grandi sfasamenti di orario al riavvio: aggiungi
makestep 1.0 3in/etc/chrony.conf - Dopo un blackout, verifica sempre il timestamp di
/etc/pve/authkey.pubprima di riprendere a lavorare
