Come abilitare SSH in Proxmox VE?

Proxmox VE offre un'interfaccia web, ma SSH fornisce un controllo diretto. Questo articolo mostra come abilitare SSH, proteggerlo con autenticazione tramite chiave e regole del firewall, configurare l'accesso alle macchine virtuali e risolvere i problemi. Imparerai i passaggi per rinforzare e diagnosticare SSH su Proxmox.

download-icon
Download gratuito
per VM, sistema operativo, database, file, NAS, ecc.
giovanni

Updated by Giovanni on 2026/01/29

Indice dei contenuti
  • Quando è necessario accedere in SSH a Proxmox?

  • Come configurare SSH in Proxmox?

  • Come accedere tramite SSH a una VM Proxmox?

  • Come configurare l'accesso remoto SSH su Proxmox VE?

  • Come risolvere i problemi di connessione?

  • Soluzione affidabile e professionale di backup per Proxmox

  • Domande frequenti su Proxmox: abilitazione SSH

  • Conclusione

SSH consente l'amministrazione remota tramite riga di comando degli host e delle VM Proxmox VE. Evita l'interfaccia web per l'automazione, gli script e la risoluzione dei problemi. Questa guida spiega come configurare SSH in modo sicuro, accedere alle VM, rafforzare la sicurezza e effettuare diagnosi. Trattiamo configurazione, modalità di rete, accesso basato su chiavi, regole del firewall, configurazione del cluster e soluzioni comuni.

Quando è necessario accedere in SSH a Proxmox?

L'accesso SSH è necessario se l'interfaccia web non è raggiungibile o è lenta. È possibile automatizzare attività multiple o eseguire aggiornamenti di massa. Si possono diagnosticare problemi di avvio tramite la console seriale (ad esempio, utilizzando qm terminal) quando gli agenti non rispondono. È possibile controllare direttamente i log o eseguire comandi del cluster senza cliccare col mouse. L'SSH è utile anche nell'analisi post-incidente quando l'interfaccia grafica si blocca.

Come configurare SSH in Proxmox?

1. Proxmox VE include OpenSSH per impostazione predefinita. Verificare con systemctl status sshd. Per impostazione predefinita ascolta sulla porta 22. Iniziare aggiornando i pacchetti di Proxmox all'ultima versione stabile. Confermare che SSH sia attivo: ss -tuln | grep :22 mostra la porta in ascolto. Modificare /etc/ssh/sshd_config per rafforzare l'accesso. Ad esempio:

PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user
Port 2222

2. Ricarica SSH: systemctl reload sshd. Verifica: ssh -T admin_user@proxmox_ip -p 2222.

3. Successivamente, blocca l'utente root. Usa PermitRootLogin no per forzare l'uso di utenti non root. Crea un utente amministratore: adduser admin_user, quindi concedi i privilegi sudo tramite usermod -aG sudo admin_user. Inserisci la tua chiave pubblica in

/home/admin_user/.ssh/authorized_keys. Usa ssh-keygen -t ed25519 sul lato client e ssh-copy-id -i ~/.ssh/id_ed25519.pub admin_user@proxmox_ip -p 2222.

4. Configurare le regole del firewall. Se si utilizza UFW su un host di gestione separato o per test, eseguire ufw allow 2222/tcp. Per il Firewall di Proxmox VE, aggiungere una regola:

pve-firewall add SSH --action ACCEPT --source <TRUSTED_IP> --iface <node>

La sintassi potrebbe variare se si utilizza il servizio proxmox-firewall basato su nftables. Verificare che la regola sia attiva.

5. Valuta la possibilità di modificare la porta predefinita. Dopo aver modificato Porta 2222 in sshd_config, aggiorna eventuali contesti SELinux/AppArmor se applicati. Per SELinux: semanage port -a -t ssh_port_t -p tcp 2222. Ricarica le policy. Aggiorna il firewall per consentire la nuova porta.

6. Installare Fail2Ban per prevenire attacchi di forza bruta. Su Proxmox basato su Debian:

apt update
apt install fail2ban

7. Creare una jail per SSH: in /etc/fail2ban/jail.local:

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

8. Riavvio: systemctl restart fail2ban. Monitora gli IP bloccati con fail2ban-client status sshd.

9. Aggiungi l'autenticazione a due fattori se desiderato. Installa libpam-google-authenticator:

apt install libpam-google-authenticator

10. Eseguire google-authenticator per ogni utente. In /etc/pam.d/sshd, aggiungere:

auth required pam_google_authenticator.so

11. E in sshd_config, impostare ChallengeResponseAuthentication yes. Ricaricare SSH. Verificare l'accesso con chiave più TOTP.

12. Verificare regolarmente la configurazione SSH:

sshd -T | grep -i permitroot
grep -i allowusers /etc/ssh/sshd_config

Assicurati che le impostazioni siano in linea con la policy. Utilizza uno strumento di gestione della configurazione per garantire coerenza tra i nodi.

Come accedere tramite SSH a una VM Proxmox?

1. Assicurati che la VM disponga di un server SSH. La maggior parte dei modelli Linux include OpenSSH. Se assente, installalo: apt install openssh-server o equivalente. Scegli una modalità di rete: bridged, routed, o NAT con inoltro di porta. In modalità bridged, la VM ottiene un indirizzo IP sulla LAN tramite vmbr0. In modalità routed, assegna una sottorete instradabile o utilizza VLAN. In modalità NAT, configura l'inoltro delle porte sull'host:

iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22

2. Testare la connettività: dall'host, ssh root@<VM_IP> o tramite porta inoltrata: ssh user@host_ip -p 2223.

3. Verifica il firewall della macchina virtuale. Se il firewall di Proxmox VE è abilitato per quella VM: disabilitalo temporaneamente con qm set <VMID> --firewall 0 o aggiungi regole per consentire SSH. All'interno della VM, controlla lo stato di ufw o esegui iptables -L. Assicurati che la porta 22 sia aperta.

4. Utilizzare l'agente QEMU per le informazioni interne: se installato, eseguire:

qm guest exec <VMID> -- ip addr

Questo mostra l'IP della macchina virtuale senza effettuare l'accesso. Assicurarsi che l'agente sia in esecuzione nell'ospite.

5. Per l'accesso come root, prendere in considerazione la disabilitazione dell'accesso diretto come root nella macchina virtuale. Utilizzare un utente non root con sudo. Aggiungere le chiavi SSH in modo analogo. Utilizzare ssh-copy-id user@vm_ip. Se la macchina virtuale è dietro NAT, assicurarsi che il port forwarding funzioni sull'host e che il firewall di rete lo consenta. Se si utilizza la modalità instradata, assicurarsi che le regole di routing e del firewall siano corrette.

6. Per risolvere i problemi SSH: dall'host client, eseguire nc -zv proxmox_ip 2223 o telnet proxmox_ip 2223. Sulla macchina virtuale: verificare systemctl status sshd, ispezionare /var/log/auth.log o journalctl -u sshd. Regolare di conseguenza il firewall o le impostazioni di rete.

Come configurare l'accesso remoto SSH su Proxmox VE?

1. Innanzitutto, assicurati che il firewall dell'host consenta la porta SSH. Nel Firewall di Proxmox VE: aggiungi una regola ACCEPT per SSH dalle subnet o dagli IP attendibili. Ad esempio:

pve-firewall add SSH --action ACCEPT --source 203.0.113.0/24

2. Applica sia su IPv4 che su IPv6 se utilizzati. Per i firewall esterni, consenti la porta scelta solo dagli indirizzi noti.

3. Limitare l'accesso SSH: utilizzare AllowUsers admin_user@203.0.113.*  o simile in sshd_config. Questo limita le fonti di accesso. Utilizzare esclusivamente l'autenticazione basata su chiave: PasswordAuthentication no. Ricaricare SSH successivamente.

4. Cambia la porta predefinita. Modifica Porta 2222. Ricarica SSH: systemctl reload sshd. Aggiorna le regole del firewall per consentire la nuova porta. Per i contesti SELinux, utilizza semanage port -a -t ssh_port_t -p tcp 2222 se SELinux è attivo. Per AppArmor, assicurati che non ci siano profili in conflitto.

5. Per i nodi del cluster, configurare chiavi SSH senza password. Su ogni nodo:

ssh-keygen -t ed25519
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@node2_ip -p 2222

6. Ripeti in modo che ciascun nodo possa accedere agli altri tramite SSH senza password. Verifica con ssh node2 pvecm status. Questo facilita la migrazione in tempo reale, la replica e gli script.

7. Utilizzare host jump se necessario: dal workstation amministrativo:

ssh -J admin_user@bastion_ip admin_user@proxmox_ip -p 2222

Questo garantisce un'esposizione diretta. Mantieni il bastione rinforzato e monitorato.

8. Abilita la registrazione e il monitoraggio. Controlla /var/log/auth.log per gli eventi SSH. Integra con SIEM o sistemi di raccolta log. Ruota i log e imposta avvisi per tentativi falliti ripetuti. Usa Fail2Ban per bloccare gli attaccanti. Esegui periodicamente un'analisi di /etc/ssh/sshd_config tramite sshd -T. Automatizza i controlli nelle pipeline CI/CD.

Come risolvere i problemi di connessione?

1. Se la porta SSH sembra chiusa: prova con ss -tuln | grep 2222 sull'host. Da remoto, usa nc -zv proxmox_ip 2222. Se il tentativo va in timeout, verifica il firewall. Se la connessione viene rifiutata, assicurati che sshd sia attivo: systemctl status sshd. Controlla i rifiuti di SELinux/AppArmor nei log di audit.

2. Se l'host non è raggiungibile tramite SSH ma l'interfaccia grafica funziona, controllare l'interfaccia di rete e le route: ip addr, ip route. Se l'interfaccia grafica non è raggiungibile ma SSH funziona, verificare systemctl status pveproxy  e ss -tuln | grep 8006. Riavviare i servizi dell'interfaccia grafica: systemctl restart pveproxy pvedaemon.

3. Se il login basato su chiave non riesce, attiva il client SSH verboso: ssh -vvv admin_user@proxmox_ip -p 2222. Verifica eventuali discrepanze nelle chiavi o nei permessi. Assicurati che ~/.ssh e authorized_keys abbiano i permessi corretti (700/600).

4. Se i comandi del cluster si bloccano, verifica la connettività SSH tra i nodi. Usa ssh node1 pvecm status e ssh node2 hostname. Controlla le chiavi host; sostituisci le voci obsolete in ~/.ssh/known_hosts quando gli indirizzi IP cambiano.

Soluzione affidabile e professionale di backup per Proxmox

Sebbene SSH protegga l'accesso, hai anche bisogno di un piano di backup affidabile. Vinchin Backup & Recovery è una soluzione enterprise per Proxmox. Supporta backup completi e incrementali delle macchine virtuali. Utilizza la deduplicazione e la compressione per risparmiare spazio di archiviazione. Puoi pianificare i backup e impostare criteri di conservazione. Si integra perfettamente con Proxmox. Puoi creare attività di backup per le VM senza installare un agente. Vinchin verifica i backup e offre ripristini rapidi. Supporta inoltre la replica remota e la crittografia per la sicurezza dei dati, garantendo sempre la continuità aziendale e semplificando il recupero. Facilita inoltre la migrazione V2V tra piattaforme virtuali supportate, assicurando flessibilità e semplicità nel trasferimento dei dati.

La console web Vinchin è intuitiva. Per eseguire il backup di una VM Proxmox:

1. Prima di tutto, seleziona la VM Proxmox che desideri eseguire il backup.

Seleziona la macchina virtuale Proxmox che desideri salvare

2. Successivamente, scegli l'archiviazione di backup nel tuo ambiente.

Scegliere l'archiviazione di backup

3. Quindi configurare le strategie di backup.

Configura strategie di backup

4. Infine, invia il lavoro.

Invia il lavoro

Vinchin offre servizi a clienti in tutto il mondo e ottiene valutazioni elevate. Goditi una prova gratuita di 60 giorni con tutte le funzionalità per scoprire come si adatta al tuo flusso di lavoro. Scarica il programma di installazione per una distribuzione semplice e inizia oggi stesso a proteggere le tue macchine virtuali.

Domande frequenti su Proxmox: abilitazione SSH

Q1: Come faccio a testare la connettività SSH quando l'interfaccia grafica di Proxmox è irraggiungibile?

Usa ssh admin_user@proxmox_ip -p 2222 da un host attendibile; verifica che la porta sia aperta e che il servizio SSH sia attivo.

Q2: Come posso rafforzare SSH su Proxmox?

Disabilita l'accesso root (PermitRootLogin no), impone l'autenticazione basata su chiave (PasswordAuthentication no), limita gli IP di origine (firewall/AllowUsers), modifica la porta (Port 2222) e installa Fail2Ban.

Q3: Come faccio ad accedere via SSH a una macchina virtuale dietro NAT?

Configurare il port-forwarding dell'host o utilizzare una VPN: iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22, quindi eseguire ssh user@host_ip -p 2223.

Conclusione

SSH è fondamentale per una gestione solida di Proxmox. Proteggilo mediante autenticazione basata su chiavi, regole del firewall, principio del privilegio minimo e audit regolari. Integra la configurazione SSH nei flussi di lavoro di automazione e nelle strategie di backup per garantire un rapido ripristino. Mantieni configurazioni coerenti tra i nodi e monitora i log di accesso. Vinchin integra le operazioni SSH offrendo protezione aziendale per macchine virtuali in ambienti diversi. 

Condividi su:

Categories: VM Tips