-
Quand devez-vous utiliser SSH pour accéder à Proxmox ?
-
Comment configurer SSH dans Proxmox ?
-
Comment se connecter en SSH à une machine virtuelle Proxmox ?
-
Comment configurer l'accès distant SSH sur Proxmox VE ?
-
Comment résoudre les problèmes de connexion ?
-
Solution de sauvegarde Proxmox fiable et professionnelle
-
Proxmox Activer les FAQ SSH
-
Conclusion
SSH permet l'administration en ligne de commande à distance des hôtes et machines virtuelles Proxmox VE. Il contourne l'interface web pour l'automatisation, les scripts et le dépannage. Ce guide explique la configuration sécurisée de SSH, l'accès aux machines virtuelles, le renforcement de la sécurité et les diagnostics. Nous abordons la configuration, les modes réseau, l'accès basé sur clés, les règles de pare-feu, la configuration en cluster et les correctifs courants.
Quand devez-vous utiliser SSH pour accéder à Proxmox ?
Vous avez besoin de SSH si l'interface graphique web est inaccessible ou lente. Vous pouvez exécuter des scripts pour des tâches massives ou effectuer des mises à jour en lot. Vous pouvez diagnostiquer les problèmes de démarrage via la console série (par exemple, en utilisant qm terminal) lorsque les agents échouent. Vous pouvez consulter directement les journaux ou exécuter des commandes de cluster sans cliquer avec la souris. SSH est également utile pour l'analyse après un incident lorsque l'interface graphique cesse de répondre.
Comment configurer SSH dans Proxmox ?
1. Proxmox VE inclut OpenSSH par défaut. Vérifiez avec systemctl status sshd. L'écoute se fait par défaut sur le port 22. Commencez par mettre à jour les paquets Proxmox vers la dernière version stable. Confirmez que SSH est actif : ss -tuln | grep :22 affiche le port en écoute. Modifiez /etc/ssh/sshd_config pour renforcer l'accès. Par exemple :
PermitRootLogin no PasswordAuthentication no AllowUsers admin_user Port 2222
2. Recharger SSH : systemctl reload sshd. Valider : ssh -T admin_user@proxmox_ip -p 2222.
3. Ensuite, verrouillez le compte root. Utilisez PermitRootLogin no pour obliger l'utilisation d'utilisateurs non root. Créez un utilisateur administrateur : adduser admin_user, puis accordez les privilèges sudo via usermod -aG sudo admin_user. Placez votre clé publique dans
/home/admin_user/.ssh/authorized_keys. Utilisez ssh-keygen -t ed25519 côté client et ssh-copy-id -i ~/.ssh/id_ed25519.pub admin_user@proxmox_ip -p 2222.
4. Configurez les règles de pare-feu. Si vous utilisez UFW sur un hôte de gestion séparé ou pour des tests, exécutez ufw allow 2222/tcp. Pour le pare-feu Proxmox VE, ajoutez une règle :
pve-firewall add SSH --action ACCEPT --source <TRUSTED_IP> --iface <node>
La syntaxe peut varier si le service pare-feu proxmox basé sur nftables est utilisé. Confirmez que la règle est active.
5. Envisagez de modifier le port par défaut. Après avoir modifié le Port 2222 dans sshd_config, mettez à jour les contextes SELinux/AppArmor si appliqués. Pour SELinux : semanage port -a -t ssh_port_t -p tcp 2222. Rechargez les politiques. Ajustez le pare-feu pour autoriser le nouveau port.
6. Installez Fail2Ban pour prévenir les attaques par force brute. Sur Proxmox basé sur Debian :
apt update apt install fail2ban
7. Créer une cellule pour SSH : dans /etc/fail2ban/jail.local :
[sshd] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600
8. Redémarrer : systemctl restart fail2ban. Surveiller les adresses IP bloquées avec fail2ban-client status sshd.
9. Ajoutez une authentification à deux facteurs si vous le souhaitez. Installez libpam-google-authenticator :
apt install libpam-google-authenticator
10. Exécutez google-authenticator pour chaque utilisateur. Dans /etc/pam.d/sshd, ajoutez :
auth required pam_google_authenticator.so
11. Et dans sshd_config, définir ChallengeResponseAuthentication yes. Recharger SSH. Tester la connexion avec la clé et le TOTP.
12. Vérifiez régulièrement la configuration SSH :
sshd -T | grep -i permitroot grep -i allowusers /etc/ssh/sshd_config
Veillez à ce que les paramètres correspondent à la politique. Utilisez un outil de gestion de configuration pour assurer la cohérence entre les nœuds.
Comment se connecter en SSH à une machine virtuelle Proxmox ?
1. Vérifiez que la machine virtuelle dispose d'un serveur SSH. La plupart des modèles Linux incluent OpenSSH. Si ce n'est pas le cas, installez-le : apt install openssh-server ou équivalent. Choisissez un mode réseau : bridgé, routé, ou NAT avec transfert de port. En mode bridgé, la machine virtuelle obtient une adresse IP sur le LAN via vmbr0. En mode routé, attribuez un sous-réseau routé ou utilisez un VLAN. En mode NAT, configurez le transfert de port sur l'hôte :
iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22
2. Tester la connectivité : depuis l'hôte, ssh root@<VM_IP> ou via le port transféré : ssh user@host_ip -p 2223.
3. Vérifiez le pare-feu de la machine virtuelle. Si le pare-feu Proxmox VE est activé pour cette VM : désactivez-le temporairement avec qm set <VMID> --firewall 0 ou ajoutez des règles permettant SSH. À l’intérieur de la VM, vérifiez ufw status ou iptables -L. Assurez-vous que le port 22 est ouvert.
4. Utiliser l'agent QEMU pour les informations internes : s'il est installé, exécutez :
qm guest exec <VMID> -- ip addr
Ceci affiche l'adresse IP de la machine virtuelle sans avoir à se connecter. Assurez-vous que l'agent est en cours d'exécution dans la machine invitée.
5. Pour la connexion root, envisagez de désactiver l'accès direct root dans la machine virtuelle. Utilisez un utilisateur non root avec sudo. Ajoutez les clés SSH de manière similaire. Utilisez ssh-copy-id user@vm_ip. Si la machine virtuelle est située derrière un NAT, assurez-vous que le transfert de port fonctionne au niveau de l'hôte et que le pare-feu du réseau le permet. Si vous utilisez le mode routé, assurez-vous que le routage et les règles du pare-feu sont corrects.
6. Pour déboguer les échecs SSH : depuis l'hôte client, exécutez nc -zv proxmox_ip 2223 ou telnet proxmox_ip 2223. Sur la machine virtuelle : vérifiez systemctl status sshd, examinez /var/log/auth.log ou journalctl -u sshd. Ajustez le pare-feu ou les paramètres réseau en conséquence.
Comment configurer l'accès distant SSH sur Proxmox VE ?
1. Assurez-vous d'abord que le pare-feu de l'hôte autorise le port SSH. Dans le pare-feu Proxmox VE : ajoutez une règle ACCEPT pour SSH depuis des sous-réseaux ou adresses IP de confiance. Par exemple :
pve-firewall add SSH --action ACCEPT --source 203.0.113.0/24
2. Appliquer à la fois sur IPv4 et IPv6 s'ils sont utilisés. Pour les pare-feu externes, autoriser le port choisi uniquement depuis des adresses connues.
3. Limitez l'accès SSH : utilisez AllowUsers admin_user@203.0.113.* ou équivalent dans sshd_config. Ceci restreint les sources de connexion. N'utilisez que l'authentification par clé : PasswordAuthentication no. Rechargez SSH par la suite.
4. Modifier le port par défaut. Modifier Port 2222. Recharger SSH : systemctl reload sshd. Mettre à jour les règles du pare-feu pour autoriser le nouveau port. Pour les contextes SELinux, utiliser semanage port -a -t ssh_port_t -p tcp 2222 si SELinux est activé. Pour AppArmor, s'assurer qu'il n'y a pas de profils en conflit.
5. Pour les nœuds du cluster, configurez des clés SSH sans mot de passe. Sur chaque nœud :
ssh-keygen -t ed25519 ssh-copy-id -i ~/.ssh/id_ed25519.pub root@node2_ip -p 2222
6. Répétez afin que chaque nœud puisse se connecter aux autres via SSH sans mot de passe. Vérifiez avec ssh node2 pvecm status. Ceci facilite la migration à chaud, la réplication et les scripts.
7. Utilisez des hôtes de saut si nécessaire : depuis la station de travail administrateur :
ssh -J admin_user@bastion_ip admin_user@proxmox_ip -p 2222
Ceci garantit une exposition directe. Maintenez le bastion renforcé et surveillé.
8. Activez la journalisation et la surveillance. Vérifiez le fichier /var/log/auth.log pour les événements SSH. Intégrez avec un SIEM ou des collecteurs de journaux. Archiviez les journaux et configurez des alertes en cas d'échecs répétés. Utilisez Fail2Ban pour bloquer les attaquants. Procédez périodiquement à l'audit de /etc/ssh/sshd_config via sshd -T. Automatisez les vérifications dans les pipelines CI/CD.
Comment résoudre les problèmes de connexion ?
1. Si le port SSH semble fermé : testez avec ss -tuln | grep 2222 sur l'hôte. À distance, utilisez nc -zv proxmox_ip 2222. En cas d'expiration du délai, vérifiez le pare-feu. Si la connexion est refusée, assurez-vous que sshd est actif : systemctl status sshd. Vérifiez les refus SELinux/AppArmor dans les journaux d'audit.
2. Si l'hôte est inaccessible via SSH mais que l'interface graphique fonctionne, vérifiez l'interface réseau et les routes : ip addr, ip route. Si l'interface graphique est inaccessible mais que SSH fonctionne, vérifiez systemctl status pveproxy et ss -tuln | grep 8006. Redémarrez les services de l'interface graphique : systemctl restart pveproxy pvedaemon.
3. Si la connexion basée sur des clés échoue, activez le mode verbeux du client SSH : ssh -vvv admin_user@proxmox_ip -p 2222. Vérifiez les incompatibilités concernant les clés ou les autorisations. Assurez-vous que ~/.ssh et authorized_keys ont les bonnes permissions (700/600).
4. Si les commandes de cluster bloquent, vérifiez la connectivité SSH entre les nœuds. Utilisez ssh node1 pvecm status et ssh node2 hostname. Vérifiez les clés d'hôte ; remplacez les entrées périmées dans ~/.ssh/known_hosts lorsque les adresses IP changent.
Solution de sauvegarde Proxmox fiable et professionnelle
Alors que SSH sécurise l'accès, vous avez également besoin d'un plan de sauvegarde fiable. Vinchin Backup & Recovery est une solution de niveau entreprise pour Proxmox. Elle prend en charge les sauvegardes complètes et incrémentielles des machines virtuelles. Elle utilise la déduplication et la compression pour économiser le stockage. Vous pouvez planifier des sauvegardes et définir des politiques de rétention. Elle s'intègre parfaitement à Proxmox. Vous pouvez créer des tâches de sauvegarde pour les machines virtuelles sans installer d'agent. Vinchin vérifie les sauvegardes et offre des restaurations rapides. Elle prend également en charge la réplication hors site et le chiffrement pour la sécurité des données, garantissant toujours la continuité des activités et une récupération simplifiée. Elle facilite également la migration V2V transparente entre les plates-formes virtuelles prises en charge, assurant flexibilité et transfert facile des données.
La console web Vinchin est intuitive. Pour sauvegarder une machine virtuelle Proxmox :
1. Tout d'abord, sélectionnez la machine virtuelle Proxmox que vous souhaitez sauvegarder.

2. Ensuite, choisissez le stockage de sauvegarde dans votre environnement.

3. Ensuite, configurez les stratégies de sauvegarde.

4. Soumettez enfin le travail.

Vinchin accompagne des clients dans le monde entier et obtient d'excellentes évaluations. Profitez d'un essai gratuit de 60 jours avec toutes les fonctionnalités pour découvrir comment il s'intègre à votre flux de travail. Téléchargez l'installateur pour un déploiement facile et commencez dès aujourd'hui à protéger vos machines virtuelles.
Proxmox Activer les FAQ SSH
Q1 : Comment tester la connectivité SSH lorsque l'interface graphique Proxmox est inaccessible ?
Utilisez ssh admin_user@proxmox_ip -p 2222 depuis un hôte de confiance ; vérifiez que le port est ouvert et que le service SSH est actif.
Q2 : Comment puis-je renforcer la sécurité de SSH sur Proxmox ?
Désactiver la connexion root (PermitRootLogin no), appliquer l'authentification par clé (PasswordAuthentication no), restreindre les adresses IP source (pare-feu/AllowUsers), modifier le port (Port 2222) et installer Fail2Ban.
Q3 : Comment puis-je me connecter en SSH à une machine virtuelle située derrière un NAT ?
Configurer la redirection de port de l'hôte ou utiliser un VPN : iptables -t nat -A PREROUTING -p tcp --dport 2223 -j DNAT --to-destination <VM_IP>:22, puis exécuter ssh user@host_ip -p 2223.
Conclusion
SSH est essentiel pour une gestion robuste de Proxmox. Sécurisez-le via l'authentification par clé, les règles de pare-feu, le principe du moindre privilège et des audits réguliers. Intégrez la configuration SSH aux flux de travail d'automatisation et aux stratégies de sauvegarde afin de garantir une récupération rapide. Maintenez des configurations cohérentes sur tous les nœuds et surveillez les journaux d'accès. Vinchin complète les opérations SSH en offrant une protection entreprise pour machines virtuelles dans divers environnements.
Partager sur :