Des supports de cours informatique à télécharger gratuitement en PDFs

SSH - Maîtriser les connexions sécurisées à distance

Ce cours couvre les fondamentaux et les techniques avancées de SSH (Secure SHell) pour sécuriser les communications et administrer des systèmes à distance. Il aborde la configuration, l'authentification par clé, le tunneling, ainsi que les bonnes pratiques pour les utilisateurs et les administrateurs. Ce PDF offre un support de cours complet et gratuit de 94 pages, intitulé "SSH : Secure SHell - De l’utilisateur à l’administrateur". Il fournit des explications détaillées, des exemples pratiques et des exercices pour maîtriser SSH, depuis les bases jusqu'à des fonctionnalités avancées comme le port forwarding et la sécurisation des serveurs.

Objectifs d'apprentissage

  • Comprendre les principes fondamentaux de SSH et son utilité pour sécuriser les communications réseau.
  • Maîtriser l'utilisation des outils clients SSH (ssh, sftp, scp) sous Unix et Windows (PuTTY).
  • Configurer et gérer un serveur SSH (sshd), y compris les fichiers de configuration et les clés.
  • Implémenter des méthodes d'authentification forte et sécuriser les accès distants.
  • Utiliser le tunneling SSH pour sécuriser d'autres protocoles ou contourner des restrictions réseau.
  • Résoudre les problèmes courants liés aux clés SSH et à la configuration du serveur.

Public cible

Ce cours s'adresse aux administrateurs système, développeurs et professionnels de l'informatique souhaitant sécuriser leurs échanges de données et accès distants. Une connaissance de base des systèmes Unix/Linux et des réseaux est recommandée.

Présentation

SSH (Secure SHell) est un protocole de communication sécurisé permettant d'établir une connexion chiffrée entre un client et un serveur. Il remplace les anciens protocoles non sécurisés comme Telnet ou rsh, en offrant un chiffrement robuste et des mécanismes d'authentification avancés. SSH est largement utilisé pour l'accès distant aux serveurs, le transfert de fichiers et le tunneling sécurisé.

Côté client

Unix - ssh

La commande ssh sous Unix permet de se connecter à un serveur distant. Exemple : ssh utilisateur@serveur. Elle prend en charge diverses options pour personnaliser la connexion.

Unix – ssh : rsh

SSH peut remplacer rsh (Remote Shell) en offrant une alternative sécurisée. Contrairement à rsh, SSH chiffre toutes les données échangées.

PuTTY - ssh

PuTTY est un client SSH graphique populaire pour Windows. Il permet de gérer des sessions SSH, SFTP et SCP via une interface intuitive.

Unix - sftp

sftp (SSH File Transfer Protocol) est un outil sécurisé pour transférer des fichiers. Exemple : sftp utilisateur@serveur.

Unix - scp

scp (Secure Copy) permet de copier des fichiers entre machines via SSH. Exemple : scp fichier utilisateur@serveur:/chemin.

Unix - fichiers impliqués

Les fichiers clés SSH sont stockés dans ~/.ssh/ (ex: id_rsa, id_rsa.pub). Le fichier known_hosts enregistre les empreintes des serveurs.

PuTTY - profiles

PuTTY permet de sauvegarder des profils de connexion (hôte, port, identifiants) pour faciliter les accès répétés.

ssh et X11

Le forwarding X11 via SSH (ssh -X) permet d'exécuter des applications graphiques distantes en local de manière sécurisée.

Côté serveur

sshd

Le démon sshd est le service SSH côté serveur. Il gère les connexions entrantes et applique les règles de sécurité.

configuration

La configuration de SSH se fait via /etc/ssh/sshd_config. Les paramètres incluent le port d'écoute, les méthodes d'authentification, etc.

StrictHostKeyChecking

Cette option contrôle la vérification des clés d'hôte. En mode "yes", SSH refuse les connexions si l'empreinte du serveur change.

problème de clés

Les erreurs de clés (ex: "Host key verification failed") surviennent quand l'empreinte du serveur ne correspond pas à celle enregistrée.

clés du serveur

Les clés SSH du serveur sont stockées dans /etc/ssh/ (ex: ssh_host_rsa_key). Elles identifient le serveur de manière unique.

changement de clés

En cas de compromission, régénérez les clés avec ssh-keygen et informez les utilisateurs pour mettre à jour known_hosts.

généralités

SSH utilise par défaut le port 22. Il est recommandé de le changer pour éviter les scans automatisés.

démarrage/arrêt

Gérez le service avec systemctl start/stop/restart sshd (Linux) ou les outils équivalents sur d'autres systèmes.

Authentification forte (AF)

L'authentification forte combine plusieurs facteurs (mot de passe + clé SSH, OTP, etc.). Configurez-la via sshd_config avec AuthenticationMethods.

Tunneling

Le tunneling SSH (ssh -L ou ssh -R) redirige un port local vers un serveur distant (ou inversement), sécurisant des protocoles non chiffrés (ex: VNC, HTTP). Exemple : ssh -L 8080:localhost:80 utilisateur@serveur.


Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)