CodeGym /Cours /Docker SELF /Configurer SSH, diagnostiquer le réseau avec `ping`, `net...

Configurer SSH, diagnostiquer le réseau avec `ping`, `netstat`, `dig`

Docker SELF
Niveau 4 , Leçon 5
Disponible

Configurer SSH, diagnostiquer le réseau avec ping, netstat, dig

1. Configuration d'un serveur SSH

Bienvenue dans une plongée pratique dans les possibilités réseau sous Linux. Aujourd'hui, c'est l'heure de tester nos compétences sérieusement ! Tu vas apprendre à configurer un serveur SSH, à t'y connecter avec un client, diagnostiquer un réseau à l'aide des commandes les plus populaires et vérifier la disponibilité des ports. Allez, on va se sentir comme des vrais ingénieurs réseau !

SSH (Secure Shell) est un outil pour un accès distant sécurisé à un serveur. Il te permet de te connecter au serveur, de le gérer comme si tu étais devant, et de transférer des fichiers.

Étape 1: Installer un serveur SSH

Pour commencer, on installe le serveur SSH. Si tu utilises Ubuntu ou Debian, tape la commande suivante :

sudo apt update
sudo apt install openssh-server -y

Si tu es sur Fedora ou CentOS :

sudo yum install -y openssh-server

Après l'installation, assure-toi que le service SSH est démarré :

sudo systemctl start ssh
sudo systemctl enable ssh  # Pour que SSH démarre automatiquement au lancement du système
sudo systemctl status ssh  # Vérifie le statut du service

Si tout s'est bien passé, tu verras que le service est actif.

Étape 2: Configurer le serveur SSH

Le fichier de configuration du serveur SSH se trouve ici :

sudo nano /etc/ssh/sshd_config

Quelques paramètres utiles à modifier :

  • PermitRootLogin no — désactiver la connexion en tant qu'utilisateur root.
  • PasswordAuthentication yes — activer l'authentification par mot de passe.
  • PubkeyAuthentication yes — activer l'authentification par clés.

Après avoir fait des modifications, redémarre SSH :

sudo systemctl restart ssh

Le serveur est maintenant prêt à recevoir des connexions.

Étape 3: Se connecter au serveur via SSH

Depuis une autre machine (ou localement via localhost), essaye de te connecter :

ssh your_username@your_server_ip

Si tu travailles en local, remplace your_server_ip par 127.0.0.1. Entre le mot de passe de ton utilisateur, et voilà, tu es à l'intérieur du système via le terminal.


2. Configuration de l'authentification avec des clés

L'authentification par mot de passe est pratique, mais en termes de sécurité, l'option la plus sûre est d'utiliser des clés SSH.

Étape 1 : Génération des clés SSH

Sur la machine client, exécute la commande :

ssh-keygen

Tu seras invité à choisir où sauvegarder les clés. Par défaut, elles seront sauvegardées dans le répertoire ~/.ssh/. Appuie simplement sur Enter.

Étape 2 : Copier la clé sur le serveur

Copie la clé publique sur le serveur :

ssh-copy-id your_username@your_server_ip

Maintenant, tu pourras te connecter sans saisir de mot de passe :

ssh your_username@your_server_ip

Si tout est correctement configuré, félicitations ! Maintenant, ton serveur SSH est protégé par une authentification basée sur les clés.


3. Diagnostic réseau avec ping

On connaît déjà cette commande. Vérifions rapidement l'accessibilité de notre serveur SSH.

ping -c 4 your_server_ip

Tu devrais voir une réponse du serveur. Si tu ne vois rien, vérifie si le serveur est lancé et bien configuré.


4. Vérification du DNS avec nslookup et dig

Si ton serveur a un nom de domaine, tu peux vérifier si tout fonctionne bien via le DNS. Par exemple :

Commande nslookup :

nslookup your-domain.com

Tu devrais voir l’adresse IP correspondant à ton domaine.

Commande dig :

Maintenant, essayons d’obtenir un ensemble complet d’infos :

dig your-domain.com

Tu verras plein de données, mais ce qui nous intéresse c’est la ligne avec ANSWER SECTION, où l’adresse IP est indiquée.


5. Analyse des connexions réseau avec netstat et ss

Le serveur SSH écoute le port 22 par défaut. Vérifions cela avec netstat :

sudo netstat -tln | grep 22

Ou avec ss, un outil plus moderne :

sudo ss -tln | grep 22

Si tu vois que le port 22 est en mode "LISTEN" (attend une connexion), cela signifie que le serveur est prêt à accepter des clients.


6. Vérification de la disponibilité du port avec nc

La commande netcat (ou nc) permet de tester la disponibilité des ports. Essayons de nous connecter à notre serveur SSH :

nc -zv your_server_ip 22

Vous devriez voir un message comme "Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

Si la connexion a échoué, cela peut signifier que le port est bloqué par un pare-feu ou que le serveur n'écoute pas sur le port spécifié.


7. Exercice pratique

Passons maintenant à un scénario pratique où tout s'assemble. Vous devrez :

  1. Activer SSH sur votre machine ou environnement virtuel, comme par exemple WSL2.
  2. Générer des clés et configurer l'autorisation par clés (en désactivant les mots de passe).
  3. Se connecter au serveur via SSH.
  4. Utiliser ping pour vérifier la disponibilité du serveur.
  5. Utiliser nslookup et dig pour vérifier la résolution de l'adresse IP (si vous avez un nom de domaine).
  6. Vérifier le port 22 sur le serveur en utilisant netstat, ss et nc.

Vous êtes maintenant prêt non seulement à configurer l'accès distant, mais aussi à résoudre les problèmes réseau, diagnostiquer le serveur et le sécuriser comme un pro ! Vous vous rapprochez déjà du niveau pour vous appeler un guru Linux.

1
Опрос
Travailler avec le réseau dans Linux,  4 уровень,  5 лекция
недоступен
Travailler avec le réseau dans Linux
Travailler avec le réseau dans Linux
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION