Pour VPS+, VPS, Serveur Cloud, Serveur Dédié et Serveur Bare Metal fonctionnant avec AlmaLinux 9, AlmaLinux 10, Rocky Linux 9, Rocky Linux 10, Ubuntu 24.04, Ubuntu 26.04, Debian 12 et Debian 13

Cet article explique comment modifier le port SSH par défaut afin de renforcer la sécurité de votre serveur.

Par défaut, le port 22 est utilisé pour établir une connexion SSH. Ce port est automatiquement saisi lors de l'installation de votre système d'exploitation.

Pour réduire le nombre d'attaques par force brute, vous pouvez configurer un autre port pour l'accès SSH.

Attention

  • Avant de modifier le port, assurez-vous que les applications et services installés sur le serveur peuvent également être configurés avec un port personnalisé. Dans le cas contraire, la modification du port par défaut pourrait entraîner le dysfonctionnement de ces applications et services.

  • Assurez-vous également, avant de modifier le port, que le port que vous avez choisi est autorisé dans le pare-feu. Cela vaut également pour la stratégie de pare-feu attribuée au serveur dans le Cloud Panel.

Modifier le port SSH sous Ubuntu 24.04 et 26.04

Voici comment modifier le port SSH :

  • Connectez-vous au serveur en tant qu'administrateur.

  • Ouvrez le fichier de configuration SSH sshd_config à l'aide de l'éditeur de texte vi :

    vi /etc/ssh/sshd_config

  • Recherchez la ligne « Port 22 ».

  • Supprimez le caractère #. Remplacez le port 22 par un port compris entre 1024 et 65535.

Remarque

L'éditeur vi dispose d'un mode insertion et d'un mode commande. Vous pouvez activer le mode insertion à l'aide de la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour passer en mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

Attention

Assurez-vous que le port sélectionné n'est pas utilisé par d'autres services. Pour cela, vous pouvez vous référer à la liste de ports suivante, mise à disposition par l'Internet Assigned Numbers Authority (IANA) : Registre des noms de services et des numéros de port des protocoles de transport

Vous pouvez également consulter la liste des ports dans le fichier /etc/services.

  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq, puis appuyez sur la touche Entrée.

  • Exécutez la commande permettant de créer un fichier de remplacement. L'éditeur nano s'ouvre.

    sudo systemctl edit ssh.socket

  • Dans la section ### Anything between here and the comment below will become the contents of the drop-in file, saisissez les informations suivantes :

    [Socket]
    ListenStream=
    ListenStream=0.0.0.0:NOUVEAU_PORT
    ListenStream=[::]:NOUVEAU_PORT

    Exemple :

    [Socket]
    ListenStream=
    ListenStream=0.0.0.0:2222
    ListenStream=[::]:2222

Remarque

La première ligne vide « ListenStream= » est importante pour désactiver le port par défaut 22.

  • Pour enregistrer la modification, appuyez sur la combinaison de touches Ctrl+O, puis sur la touche Entrée.
  • Pour fermer l'éditeur nano, appuyez sur Ctrl+X.
  • Enregistrez et fermez l'éditeur. Si le message « Save modified buffer » s'affiche, saisissez Y puis appuyez sur la touche Entrée.
  • Pour recharger la configuration systemd et redémarrer le service socket, saisissez la commande suivante :

    sudo systemctl daemon-reload
    sudo systemctl stop ssh.service
    sudo systemctl restart ssh.socket

Attention

Veillez à ne pas fermer votre session SSH en cours !

  • Pour ouvrir le nouveau port dans le pare-feu UFW, adaptez les commandes suivantes en fonction de votre configuration, puis exécutez-les :

    sudo ufw allow PORTtcp
    sudo ufw reload

    Exemple :

    sudo ufw allow 22222/tcp
    sudo ufw reload

  • Pour vérifier si le port a été modifié, saisissez la commande suivante :

    ss -lntp | grep :22

    Si le message d'erreur « Connection refused » s'affiche, redémarrez le serveur.

  • Testez la connexion dans une nouvelle fenêtre de terminal. Pour ce faire, saisissez la commande suivante :

    ssh nom-d'utilisateur@votre-adresse-IP -p 2222

Modifier le port SSH sous Rocky Linux 8, Rocky Linux 9, AlmaLinux 8, AlmaLinux 9 et 10

  • Connectez-vous au serveur en tant qu'administrateur.
  • Ouvrez le fichier de configuration SSH sshd_config à l'aide de l'éditeur de texte vi :

    vi /etc/ssh/sshd_config

  • Recherchez l'entrée « Port 22 ».
  • Remplacez le port 22 par un port compris entre 1024 et 65535.
  • Facultatif : si la ligne « Port » commence par le signe dièse (#), vous devez le supprimer pour que le port soit pris en compte dans la configuration.

Remarque

L'éditeur vi dispose d'un mode insertion et d'un mode commande. Vous pouvez activer le mode insertion à l'aide de la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour passer en mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

Attention

Assurez-vous que le port sélectionné n'est pas utilisé par d'autres services. Pour ce faire, vous pouvez vous référer à la liste de ports suivante, mise à disposition par l'Internet Assigned Numbers Authority (IANA) : Registre des noms de services et des numéros de port des protocoles de transport

Vous pouvez également consulter la liste des ports dans le fichier /etc/services.

  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq, puis appuyez sur la touche Entrée.
  • Si SELinux est activé (par défaut sous Rocky/AlmaLinux), vous devez ajouter le nouveau port au contexte SELinux avant de redémarrer le service. Pour ce faire, saisissez la commande suivante :

    semanage port -a -t ssh_port_t -p tcp MON_NOUVEAU_PORT

    Exemple :

    semanage port -a -t ssh_port_t -p tcp 22222

Remarque

Si la commande « semanage » est introuvable, saisissez la commande suivante pour installer le paquet nécessaire :

dnf install policycoreutils-python-utils

  • Pour vérifier la configuration de SELinux (Security-Enhanced Linux), saisissez la commande ci-dessous. Cette commande indique quels ports réseau sont autorisés pour le service SSH conformément aux politiques de sécurité en vigueur.

    semanage port -l | grep ssh

  • Redémarrez le service SSH.

    systemctl restart sshd

  • Pour vérifier l'état du service, saisissez la commande suivante :

    systemctl status sshd

  • Pour établir une connexion SSH après cette modification, saisissez la commande suivante :

    ssh root@adresse-IP-du-serveur -p nouveau-port

    Exemple :

    ssh root@adresse-IP-du-serveur -p 22222

Modifier le port SSH sous Debian 13

À partir de Debian 13, le port n'est plus géré par le service SSH lui-même, mais par le système (systemd). Vous devez donc modifier le paramétrage système. Le port est donc configuré au niveau du socket, et non dans le fichier /etc/ssh/sshd_config.

Attention

  • Laissez votre session SSH actuelle ouverte jusqu'à ce que la nouvelle connexion fonctionne.
  • Choisissez un port libre compris entre 1024 et 65535 (exemple : 22222).
  • Ouvrez le nouveau port dans le pare-feu interne ainsi que dans les règles de pare-feu du Cloud Panel.
  • Assurez-vous qu’un autre utilisateur disposant des droits sudo existe et qu’il fonctionne via SSH.
  • Ne supprimez l'accès au port 22 qu'après avoir effectué un test réussi.
  • Connectez-vous au serveur en tant qu'administrateur.
  • Pour vérifier si le service ssh.socket est actif, saisissez la commande suivante :

    systemctl is-active ssh.socket

  • Pour vérifier si le service ssh.service est actif, saisissez la commande suivante :

    systemctl is-active ssh.service


Remarque

Sous Debian 13, le service ssh.socket est généralement actif. Si le service ssh.service est également actif, le port 22 reste ouvert jusqu'à ce qu'il soit désactivé.

  • Pour ouvrir l'éditeur de configuration, saisissez la commande suivante :

    systemctl edit ssh.socket

  • Dans l'éditeur de texte qui s'ouvre, saisissez les informations suivantes :

    [Socket]
    ListenStream=
    ListenStream=0.0.0.0:NOUVEAU_PORT
    ListenStream=[::]:NOUVEAU_PORT

    Exemple :

    [Socket]
    ListenStream=0.0.0.0:22222
    ListenStream=[::]:22222


    L'entrée ListenStream= (vide) supprime l'ancien port par défaut 22. L'entrée ListenStream=22222 définit le nouveau port.

  • Si l'éditeur Nano s'ouvre (par défaut) : appuyez sur CTRL + O puis sur Entrée pour enregistrer, puis sur CTRL + X pour quitter. Saisissez ensuite Y si nécessaire, puis appuyez sur la touche Entrée.
    Si l'éditeur Vi/Vim s'ouvre : appuyez sur Échap, saisssez :wq puis appuyez sur la touche Entrée.

  • Pour appliquer les modifications et vous assurer que seul le socket est actif, saisissez les commandes suivantes :

    systemctl daemon-reload

    systemctl disable --now ssh.service

  • Pour redémarrer le socket, saisissez les commandes suivantes :

    systemctl restart ssh.socket

    systemctl enable ssh.socket

  • Ouvrez une autre fenêtre de terminal ou PuTTY.

  • Dans le champ Host Name, saisissez l'adresse IP du serveur.

  • Dans le champ Port, saisissez le nouveau port.

  • Cliquez sur OK.

  • Connectez-vous au serveur. Si la connexion fonctionne, vous pouvez fermer l'ancienne session et supprimer le port 22 dans le pare-feu.

  • Pour vérifier que seul le nouveau port SSH est actif, saisissez la commande suivante :

    ss -lntp | grep -E ':(22|NOUVEAU_PORT)'

  • Pour vérifier l'état du socket, utilisez la commande suivante :

    systemctl status ssh.socket

  • Pour afficher la configuration effective du socket, saisissez la commande suivante :

    systemctl cat ssh.socket

Remarque

Si la connexion ne fonctionne pas, vérifiez les paramètres de votre pare-feu et, le cas échéant, annulez les modifications apportées.

Modifier le port SSH sous Ubuntu 22.04

Pour modifier le port SSH :

  • Connectez-vous au serveur en tant qu'administrateur.
  • Ouvrez le fichier de configuration SSH sshd_config à l'aide de l'éditeur de texte vi :

    vi /etc/ssh/sshd_config

  • Recherchez la ligne « Port 22 ».
  • Remplacez le port 22 par un port compris entre 1024 et 65535.

Remarque

L'éditeur vi dispose d'un mode insertion et d'un mode commande. Vous pouvez accéder au mode insertion à l'aide de la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour passer en mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

Attention

Assurez-vous que le port sélectionné n'est pas utilisé par d'autres services. Pour cela, vous pouvez vous référer à la liste de ports suivante, mise à disposition par l'Internet Assigned Numbers Authority (IANA) : Registre des noms de services et des numéros de port des protocoles de transport

Vous pouvez également consulter la liste des ports dans le fichier /etc/services.

  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq, puis appuyez sur la touche Entrée.
  • Redémarrez le service SSH. Pour ce faire, saisissez la commande ci-dessous. Si vous êtes connecté en tant que root, vous pouvez omettre « sudo ».

    sudo systemctl restart ssh

  • Pour vérifier l'état du service, saisissez la commande ci-dessous. Si vous êtes connecté en tant que root, vous pouvez omettre « sudo ».

    sudo systemctl status ssh

  • Pour établir une connexion SSH après cette modification, saisissez la commande suivante :

    ssh root@adresse-IP-du-serveur -p NOUVEAU_PORT