Server e Virtualizzazione

Errore 401 su Proxmox: tutte le cause e come risolverlo

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

CausaSintomoComando di verifica
NTP desincronizzatoErrori intermittenti su alcuni nodichronyc tracking
Cluster senza quorumDisconnessioni massicce, tutti gli utentipvecm status
Certificato SSL scadutoErrori costanti, login impossibileopenssl x509 -in /etc/pve/local/pve-ssl.pem -noout -dates
Sessioni VNC zombieRaffiche di 401 ogni pochi minutips aux | grep vncshell
Tool di monitoring con token scadutoErrori regolari con cadenza fissaAnalisi IP sorgente nei log pveproxy
Authkey con timestamp futuroDisconnessioni ogni 2-5 minuti dopo blackoutls -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 3 in /etc/chrony.conf
  • Dopo un blackout, verifica sempre il timestamp di /etc/pve/authkey.pub prima di riprendere a lavorare

Hai bisogno di assistenza IT?

Il team Ejart è a tua disposizione per consulenze, supporto e soluzioni su misura.

Contattaci 📞 06 4341 2978
Torna in alto