Recherche de site Web

Comment configurer et paramétrer SSH sur Fedora Linux 43


Secure Shell (SSH) est un outil essentiel pour l'administration des systèmes à distance, permettant aux utilisateurs de se connecter et de gérer en toute sécurité des serveurs Linux. Si vous utilisez la dernière version de Fedora, configurer SSH est simple. Ce guide vous expliquera les étapes pour installer et configurer SSH sur Fedora Linux 43 et les versions antérieures.

Pourquoi utiliser SSH ?

SSH permet une communication sécurisée et chiffrée entre les systèmes sur un réseau non sécurisé. Il remplace les anciens protocoles non sécurisés comme Telnet et FTP.

Avec SSH, vous pouvez :

  • Gérer à distance des serveurs Fedora.
  • Transférez des fichiers en toute sécurité (en utilisant scp ou sftp).
  • Automatisez les tâches administratives.

Étapes pour configurer SSH sur Fedora Linux 43

Configurer SSH sur un système Fedora implique les étapes suivantes :

1. Installer le serveur OpenSSH

Fedora est généralement fourni avec OpenSSH préinstallé. Cependant, s’il est absent, installez-le en utilisant :

sudo dnf install -y openssh-server

2. Activer et démarrer le service SSH

Après l'installation, démarrez le service SSH et configurez-le pour qu'il s'exécute au démarrage :

sudo systemctl enable --now sshd

Pour vérifier que SSH fonctionne :

systemctl status sshd

Vous devriez voir active (running) en vert dans la sortie.

● sshd.service - OpenSSH server daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Wed 2025-11-26 16:10:28 IST; 35min ago
 Invocation: 918b3b0dc7d749b0b504b0410617b73b
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 867 (sshd)
      Tasks: 1 (limit: 9459)
     Memory: 1.7M (peak: 2M)
        CPU: 11ms
     CGroup: /system.slice/sshd.service
             └─867 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
Nov 26 16:10:28 fedora systemd[1]: Starting sshd.service - OpenSSH server daemon...
Nov 26 16:10:28 fedora sshd[867]: Server listening on 0.0.0.0 port 22.
Nov 26 16:10:28 fedora systemd[1]: Started sshd.service - OpenSSH server daemon.
Nov 26 16:10:28 fedora sshd[867]: Server listening on :: port 22.

Vérifier l'état de SSH dans Fedora 43

3. Configurez le pare-feu

Fedora utilise firewalld pour gérer les règles du pare-feu. Ouvrez le port SSH avec :

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

Confirmez que la règle est appliquée :

sudo firewall-cmd --list-services

Vous devriez voir ssh dans la liste.

dhcpv6-client samba-client ssh

4. Configurer l'authentification par clé SSH (recommandé)

Pour une sécurité accrue, utilisez des clés SSH au lieu des mots de passe.

Attention : Ne désactivez pas l’authentification par mot de passe avant de confirmer que la connexion par clé SSH fonctionne ! Sinon, vous risquez de vous verrouiller hors du serveur si les clés ne sont pas configurées correctement.

4.1. Générer une paire de clés SSH

Générez une paire de clés sur votre machine locale (pas sur le serveur Fedora) :

ssh-keygen -t ed25519 -C "your-email@example.com"

Appuyez sur Entrée pour accepter les valeurs par défaut. Facultativement, définissez une phrase de passe pour plus de sécurité.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/ostechnix/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ostechnix/.ssh/id_ed25519
Your public key has been saved in /home/ostechnix/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:smI0vudP4BHRayrjGXZZghHhE6h8qin9jgifPs+6JDQ sk@ostechnix.local
The key's randomart image is:
+--[ED25519 256]--+
|   .+o..         |
|  .... ..        |
|..  oo.  .       |
|.. .....+        |
| Eo o +*S        |
|...o=o+=         |
|+o.o+*o .        |
|==o=oo..         |
|o.BB*o...        |
+----[SHA256]-----+

4.2. Copier la clé publique SSH sur Fedora

Il y a deux façons. Vous pouvez utiliser la commande ssh-copy-id. C'est la façon la plus facile. Alternativement, vous pouvez copier la clé publique manuellement.

Copier la clé publique SSH en utilisant la commande ssh-copy-id :

Copiez la clé publique sur le système Fedora :

ssh-copy-id yourusername@your-fedora-ip

Exemple :

ssh-copy-id ostechnix@192.168.1.43

Ici, ostechnix est le nom d'utilisateur et 192.168.1.43 est l'adresse IP de mon système Fedora Linux.

Vous devrez entrer le mot de passe de votre système Fedora une fois pour cette étape.

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ostechnix@192.168.1.43's password: 
Number of key(s) added: 2
Now try logging into the machine, with:   "ssh 'ostechnix@192.168.1.43'"
and check to make sure that only the key(s) you wanted were added.

Copier la clé publique SSH manuellement :

Vous pouvez également ajouter la clé publique manuellement en utilisant cette commande :

cat ~/.ssh/id_ed25519.pub | ssh yourusername@your-fedora-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Assurez-vous que les permissions des fichiers sont correctes :

ssh yourusername@your-fedora-ip "chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh"

Se connecter à Fedora :

Maintenant, testez la connexion par clé SSH (avant de désactiver les mots de passe !) :

ssh yourusername@your-fedora-ip

Si cela réussit, vous vous connecterez sans mot de passe. En cas d'échec, vérifiez ~/.ssh/authorized_keys sur le serveur et réessayez ssh-copy-id.

Vous pouvez maintenant désactiver en toute sécurité l'authentification par mot de passe (si vous utilisez des clés SSH).

Remarque : Faites cela seulement après avoir confirmé que la connexion par clé fonctionne.

Tout d'abord, sauvegardez le fichier de configuration original sur votre système Fedora.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Ensuite, éditez /etc/ssh/sshd_config et configurez :

PasswordAuthentication no

Enregistrez et quittez, puis redémarrez SSH :

sudo systemctl restart sshd

5. Connectez-vous à votre système Fedora via SSH

Une fois SSH configuré, connectez-vous en utilisant :

ssh yourusername@your-fedora-ip

Exemple :

ssh ostechnix@192.168.1.43

Connectez-vous à Fedora 43 via SSH

6. Sécurisez votre configuration SSH

Pour renforcer la sécurité SSH, vous devrez peut-être effectuer les améliorations de sécurité recommandées suivantes.

Modifiez le fichier de configuration SSH sur votre système Fedora :

sudo nano /etc/ssh/sshd_config

1. Désactiver la connexion root

Trouvez la ligne suivante :

#PermitRootLogin yes

Et définissez sa valeur sur non.

PermitRootLogin no

2. Autoriser des utilisateurs spécifiques

AllowUsers yourusername

7. (Optionnel) Changer le port SSH par défaut sur Fedora

Pour une sécurité supplémentaire, changez le port SSH par défaut (le port par défaut est 22) :

sudo nano /etc/ssh/sshd_config

Trouvez la ligne suivante :

#Port 22

Décommentez-le et définissez un port différent de votre choix :

Port 2222

Assurez-vous que le port est libre et n'est pas actuellement utilisé par d'autres services.

Changer le port par défaut de SSH

Enregistrez le fichier et fermez-le.

Mettez à jour le pare-feu :

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

Redémarrer le service SSH :

sudo systemctl restart sshd

Si SSH fonctionne sur un port non par défaut, SELinux le bloquera sauf si cela est explicitement autorisé.

Vérifiez la politique SELinux actuelle pour SSH :

sudo semanage port -l | grep ssh

Si votre port personnalisé (par exemple, 2222) est manquant, ajoutez-le :

sudo semanage port -a -t ssh_port_t -p tcp 2222

Redémarrez SSH et rechargez les politiques SELinux :

sudo systemctl restart sshd
sudo restorecon -v /etc/ssh/sshd_config

Vérifiez que SSH écoute sur le nouveau port :

sudo ss -tlnp | grep sshd

Il listera les ports SSH autorisés :

LISTEN 0      128          0.0.0.0:2222       0.0.0.0:*    users:(("sshd",pid=4999,fd=6))           
LISTEN 0      128             [::]:2222          [::]:*    users:(("sshd",pid=4999,fd=7))  

Connectez-vous en utilisant le nouveau port :

ssh -p 2222 yourusername@your-fedora-ip

Se connecter à Fedora via SSH en utilisant un port différent

Verrouillé ? Réactivez l'authentification par mot de passe SSH

Disons que vous avez désactivé l'authentification par mot de passe avant de configurer correctement l'authentification par clé. Vous êtes maintenant verrouillé hors de votre système Fedora. Comment réactiver l'authentification par mot de passe ? C'est facile !

Accédez au serveur via la console ou le mode de récupération

Si votre serveur est une machine physique, utilisez un clavier et un écran pour y accéder directement. S'il s'agit d'un VPS ou d'une instance cloud, vérifiez si votre fournisseur d'hébergement propose une console web (par exemple, via un panneau de contrôle).

Une fois que vous avez accès à la console, procédez aux étapes suivantes :

Démarrer en mode de secours

Redémarrez le système et, dans le menu GRUB, appuyez sur e pour modifier l'entrée de démarrage.

Trouvez la ligne qui commence par linux ou linux16, et ajoutez ce qui suit à la fin de la ligne :

systemd.unit=rescue.target

Appuyez sur Ctrl + X pour démarrer avec ces options.

Une fois que vous êtes en mode de secours, vous aurez un accès shell root.

Réactiver l'authentification SSH

Maintenant, modifiez le fichier de configuration SSH :

nano /etc/ssh/sshd_config

Trouvez et modifiez les lignes suivantes :

PasswordAuthentication yes
PubkeyAuthentication yes

Enregistrer et quitter (Ctrl + X, puis Y, puis Entrée).

Redémarrer SSH :

systemctl restart sshd

Ajouter une nouvelle clé SSH (facultatif)

Si vous avez l'intention d'utiliser l'authentification par clé, assurez-vous que votre clé publique se trouve dans le fichier ~/.ssh/authorized_keys :

mkdir -p ~/.ssh
echo "your-public-key-here" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Redémarrer et tester l'accès SSH

Quittez le mode de secours et redémarrez :

reboot

Essayez de vous connecter via SSH :

ssh user@your-fedora-ip

Conclusion

Configurer SSH sur Fedora est une étape importante pour l'accès à distance et la gestion du serveur. En sécurisant votre configuration SSH, vous pouvez prévenir les accès non autorisés et améliorer la sécurité du système.

Lire la suite :

  • Comment prévenir les attaques par force brute SSH en utilisant Fail2ban sous Linux
  • Comment configurer l'authentification multifactorielle pour SSH sous Linux
  • Comment autoriser ou refuser l'accès SSH à un utilisateur ou à un groupe particulier sous Linux