Votre instance est lancée, elle a une IP flottante… et pourtant la connexion SSH échoue avec « Connection timed out » ? Dans 9 cas sur 10, la cause est le groupe de sécurité. Sur FelCloud, comme sur tout cloud OpenStack, le pare-feu bloque par défaut tout le trafic entrant venant d'Internet. Ce guide explique ce que fait exactement le groupe default, comment ouvrir le port 22 proprement, et comment se connecter en SSH sans erreur.
Qu'est-ce qu'un groupe de sécurité OpenStack ?
Un groupe de sécurité est un pare-feu virtuel appliqué à chaque interface réseau de vos instances. Il est composé de règles qui autorisent un type de trafic. Tout ce qui n'est pas explicitement autorisé est bloqué.
Chaque règle définit :
- Direction :
Ingress(trafic entrant vers l'instance) ouEgress(trafic sortant). - Protocole : TCP, UDP ou ICMP (le ping).
- Port : par exemple
22pour SSH,80et443pour un site web. - Source (Remote) : qui a le droit d'entrer. Soit une plage d'adresses (CIDR) comme
0.0.0.0/0(tout Internet) ou41.x.x.x/32(une seule adresse), soit un autre groupe de sécurité.
Une instance peut avoir plusieurs groupes : leurs règles s'additionnent. Les modifications s'appliquent immédiatement, sans redémarrer l'instance.
Le groupe « default » : ce qu'il autorise vraiment
C'est ici que beaucoup d'utilisateurs se trompent. Le groupe default est créé automatiquement dans chaque projet et appliqué aux instances si vous n'en choisissez pas d'autre. Son comportement :
| Trafic | Avec le groupe default |
|---|---|
| Sortant (mises à jour, apt, accès à Internet) | ✅ Autorisé vers toutes les destinations |
| Entrant depuis une autre instance du groupe default | ✅ Autorisé (tous ports) |
| Entrant depuis Internet (SSH, ping, web) | ❌ Bloqué |
Autrement dit : avec le seul groupe default, votre instance n'est pas joignable en SSH depuis votre ordinateur, même avec une IP flottante. Ce n'est pas une panne, c'est une protection voulue. Il faut ajouter une règle d'entrée.
Étape 1 — Créer un groupe de sécurité dédié
Plutôt que de modifier default, créez un groupe par usage : c'est plus lisible et plus sûr.
- Dans le menu Network, ouvrez Security Groups.
- Cliquez sur Create Security Group, donnez un nom explicite (par exemple
ssh-access) et validez. - Ouvrez le groupe : l'onglet Rules ne contient que deux règles Egress (IPv4 et IPv6). Votre instance peut sortir sur Internet, mais rien ne peut encore entrer.
- Cliquez sur Create Rule pour ajouter l'accès SSH.
Étape 2 — Ajouter la règle SSH (port 22)
Dans la fenêtre Create Rule, remplissez les champs dans l'ordre :
- Protocol :
Custom TCP Rule. - Direction :
Ingress(le trafic qui entre vers l'instance). - Ether Type :
IPv4. - Port Type :
Custom. - Port/Port Range :
22. - Remote Type :
CIDR. - Remote IP Prefix : votre adresse IP publique suivie de
/32(par exemple41.226.10.25/32). Vous la trouvez en cherchant « quelle est mon IP » dans votre navigateur. À défaut,0.0.0.0/0ouvre SSH au monde entier : pratique pour un test, à éviter en production. - Cliquez sur OK. La règle apparaît dans la liste et s'applique immédiatement.
Trois pièges fréquents dans les listes déroulantes :
- Protocol : choisissez
Custom TCP Rule, pasAll TCPniAll Proto, qui ouvriraient tous les ports. - Direction :
Egressne sert à rien ici, le trafic sortant est déjà autorisé. - Remote Type :
CIDRfiltre par adresse IP ;Security Groupautorise les instances d'un autre groupe (utile entre un serveur web et une base de données).
Ajoutez de la même façon les règles utiles à votre service :
| Usage | Protocol | Port | Remote IP Prefix conseillé |
|---|---|---|---|
| SSH (Linux) | Custom TCP Rule | 22 | Votre IP en /32 |
| Site web | Custom TCP Rule | 80, puis 443 | 0.0.0.0/0 |
| Bureau à distance (Windows) | Custom TCP Rule | 3389 | Votre IP en /32 |
| Ping | Custom ICMP Rule | — | Votre IP en /32 |
Étape 3 — Associer le groupe à votre instance
Un groupe de sécurité n'a aucun effet tant qu'il n'est pas attaché à une instance.
- À la création : dans l'onglet Network Config, cochez
ssh-accessdans la liste Security Group (en plus dedefault). Voir notre guide pour créer une instance cloud. - Sur une instance existante : dans Compute → Instances, ouvrez le menu More de l'instance, puis l'action de gestion des groupes de sécurité, et ajoutez
ssh-access. Le changement est immédiat.
Étape 4 — Se connecter en SSH avec votre clé SSH
Vérifiez d'abord les trois prérequis : l'instance est Active, elle possède une IP flottante (voir créer votre réseau privé et votre IP flottante), et le groupe ssh-access lui est associé.
Utilisez la clé SSH choisie (ou téléchargée) à la création de l'instance : c'est elle, et non un mot de passe, qui vous identifie.
Sur Linux ou macOS, protégez votre clé puis connectez-vous :
chmod 400 ~/Téléchargements/demo_key.pem
ssh -i ~/Téléchargements/demo_key.pem ubuntu@197.5.133.85
Sur Windows 10/11, ouvrez PowerShell (le client SSH est intégré) :
ssh -i C:\Users\vous\Downloads\demo_key.pem ubuntu@197.5.133.85
Le nom d'utilisateur dépend de l'image choisie, et c'est la deuxième erreur la plus fréquente : ce n'est jamais root.
| Image | Utilisateur SSH |
|---|---|
| Ubuntu | ubuntu |
| Debian | debian |
| Rocky Linux / AlmaLinux | rocky / almalinux |
| CentOS | centos ou cloud-user |
| CirrOS (test) | cirros |
Une fois connecté, passez administrateur avec sudo -i. Pour un dépannage sans réseau, l'action Console de la liste des instances reste disponible.
Dépannage : les messages d'erreur SSH et leur solution
| Message | Cause probable | Solution |
|---|---|---|
Connection timed out | Port 22 bloqué ou pas d'IP flottante | Ajoutez la règle SSH, vérifiez l'IP flottante et la passerelle du routeur |
Permission denied (publickey) | Mauvais utilisateur ou mauvaise clé | Utilisez l'utilisateur de l'image (tableau ci-dessus) et la clé choisie à la création |
UNPROTECTED PRIVATE KEY FILE | Droits trop ouverts sur la clé | chmod 400 demo_key.pem |
Connection refused | L'instance démarre encore | Attendez une minute, vérifiez dans Console |
| Fonctionnait, puis timeout depuis un autre lieu | Votre IP publique a changé | Mettez à jour le CIDR de la règle SSH |
Bonnes pratiques de sécurité
- Limitez SSH à votre IP (/32) plutôt qu'à 0.0.0.0/0 : les robots scannent le port 22 en permanence.
- Un groupe par rôle :
ssh-access,web,db-internal. Combinez-les selon l'instance. - Pour une base de données, utilisez comme source un autre groupe de sécurité plutôt qu'un CIDR : seuls vos serveurs web y accèdent.
- Ne supprimez pas les règles sortantes sans raison, sinon l'instance ne pourra plus se mettre à jour.
- Conservez votre clé privée en lieu sûr : FelCloud ne la stocke pas et ne peut pas la renvoyer.
Pour aller plus loin, la documentation officielle d'OpenStack Neutron détaille le fonctionnement des groupes de sécurité.
En résumé
Le groupe default laisse sortir votre instance mais bloque tout ce qui vient d'Internet. Pour vous connecter : créez un groupe de sécurité OpenStack dédié, ajoutez une règle TCP 22 limitée à votre IP, associez-le à l'instance, puis connectez-vous avec la bonne clé et le bon utilisateur. Quatre gestes, et l'erreur « Connection timed out » appartient au passé.