Vous souhaitez accéder facilement à votre système à distance ? Plus besoin de chercher. La solution idéale est d’utiliser une connexion SSH. Dans cet article, nous vous dirons tout ce que vous devez savoir sur cette technologie qui vous permet d’accéder en toute sécurité à votre système depuis n’importe où dans le monde. Apprenez à maîtriser les connexions SSH en un rien de temps grâce à notre guide étape par étape.
Sommaire
Connexion SSH
SSH = Un protocole de communication sécurisé pour établir des connexions cryptées entre deux systèmes.
Fonctionnalités clés : cryptage des données, authentification sécurisée, intégrité des données, transfert d’e-mails.
Les trois étapes du tutoriel décrites dans cet article :
- Comment configurer un serveur SSH
- Connexion à distance via SSH
- Transfert de fichiers via SSH
SHS : qu’est-ce que c’est ?
SSH signifie Secure Shell et est un protocole de communication sécurisé permettant d’établir des connexions cryptées entre deux systèmes.
Il fournit une méthode sécurisée pour l’accès à distance aux systèmes informatiques et le transfert fiable des données.
L’acronyme SSH désigne à la fois le protocole de communication et les outils logiciels qui le mettent en œuvre. SSH remplace les anciens protocoles de connexion à distance tels que Telnet, qui ne transmettaient pas les informations de manière sécurisée et les rendaient vulnérables aux écoutes clandestines et aux attaques malveillantes.
Quelles sont les caractéristiques de sécurité SSH ?
Les fonctions de sécurité de SSH sont recommandées pour les administrateurs système et les utilisateurs qui attachent de l’importance à la confidentialité et à l’intégrité des données. Voici les plus importants.
Cryptage des données
SSH utilise des algorithmes de cryptage puissants pour crypter toutes les données envoyées entre les systèmes. Cela garantit que les informations sensibles telles que les mots de passe, les commandes et les données de fichiers ne peuvent pas être lues par des personnes non autorisées.
Authentification sécurisée
SSH prend en charge plusieurs méthodes d’authentification sécurisées, y compris l’authentification par clé publique, qui offre une protection supplémentaire par rapport aux méthodes d’authentification basées sur un mot de passe. L’authentification par clé publique garantit l’identité des utilisateurs et aide à prévenir les attaques d’usurpation d’identité.
Intégrité des données
SSH utilise un mécanisme de vérification d’intégrité pour détecter la corruption des données en transit. Cela garantit que les données reçues sont identiques aux données envoyées et n’ont pas été altérées.
Port forwarding
SSH vous permet de créer des tunnels cryptés pour le transfert de données entre des systèmes distants. C’est un moyen d’acheminer en toute sécurité un service réseau (base de données, serveur Web ou connexion VNC) sur un réseau non sécurisé.
Avantages de la connexion Secure Shell
Une connexion Secure Shell présente plusieurs avantages significatifs qui en font un outil essentiel pour l’administration système et réseau.
Tout d’abord, l’un des principaux avantages de SSH est la capacité à sécuriser les communications. SSH utilise des protocoles cryptographiques pour protéger les données transmises contre l’interception et la manipulation par des tiers non autorisés. Cela aide à prévenir les attaques telles que l’écoute passive et le reniflage de paquets. Un autre avantage important de SSH est son système d’authentification sécurisé. Contrairement aux méthodes d’authentification par mot de passe, SSH utilise des clés de cryptage publiques et privées pour établir une connexion sécurisée entre un client et un serveur sans avoir à saisir un mot de passe pour chaque connexion. Une connexion SSH offre également la possibilité d’accéder à distance à un serveur ou à une machine depuis n’importe quel endroit. Cela simplifie grandement la gestion du système, en particulier dans les environnements de serveur et les déploiements cloud. SSH permet aux administrateurs système de se connecter à distance et en toute sécurité et d’effectuer diverses tâches sans être physiquement présents.
SSH permet non seulement l’accès à distance, mais intègre également le protocole SFTP (SSH File Transfer Protocol), qui assure un transfert sécurisé des fichiers entre les ordinateurs distants. Cela élimine le besoin d’utiliser des protocoles non sécurisés tels que FTP qui transfèrent des fichiers non chiffrés et exposent les données sensibles à l’interception. Un autre avantage utile de SSH est la possibilité de transférer des ports locaux vers des ports distants. Cette fonctionnalité facilite l’accès à certains services exécutés sur des ordinateurs distants via des connexions cryptées. Par exemple, vous pouvez accéder à une interface Web sécurisée uniquement localement en transférant votre port SSH local vers un serveur distant.
Tutoriel (Partie 1) : Comment configurer un serveur SSH ?
Installer SSH
Cette première partie du tutoriel a pour but de vous montrer comment configurer un serveur SSH quel que soit l’appareil.
Pour windows
- Téléchargez le programme d’installation d’OpenSSH à partir du site officiel de PowerShell.
- Exécutez le programme d’installation téléchargé et suivez les instructions à l’écran.
- Lorsque vous êtes invité à sélectionner les composants à installer, assurez-vous de cocher la case OpenSSH Server pour installer le service SSH.
- Une fois l’installation terminée, le service SSH démarrera automatiquement. Vous pouvez vérifier l’état en exécutant la commande suivante dans PowerShell : “Get-Service sshd”
Pour Mac
- Ouvrez un terminal. Vérifiez si SSH est déjà installé en exécutant la commande suivante : “ssh -v”
- Si SSH est déjà installé, vous verrez une sortie indiquant la version d’OpenSSH installée. Sinon passez à l’étape suivante.
- Installez OpenSSH à l’aide de Homebrew (un gestionnaire de packages populaire pour macOS).
- Si Homebrew n’est pas déjà installé, suivez les instructions d’installation sur le site officiel de Homebrew. Une fois Homebrew installé, exécutez la commande “brew install openssh” pour installer OpenSSH.
- Une fois l’installation terminée, le service SSH démarrera automatiquement.
- Vous pouvez vérifier l’état en exécutant la commande suivante : “brew services list | grep openssh”
Pour Linux
- Ouvrez un terminal. Vérifiez si SSH est déjà installé en exécutant la commande suivante : “ssh -v”
- Si SSH est déjà installé, vous verrez une sortie indiquant la version d’OpenSSH installée. Sinon passez à l’étape suivante.
- Installez OpenSSH à l’aide du gestionnaire de packages approprié pour votre distribution Linux.
- Sur les distributions basées sur Debian/Ubuntu, utilisez la commande “sudo apt-get install openssh-server”.
- Sur les distributions basées sur Fedora/RHEL, utilisez la commande “suda dnf install openssh-server”.
- Sur les distributions basées sur Arch Linux, utilisez la commande “sudo pacman -S openssh”.
- Une fois l’installation terminée, le service SSH démarrera automatiquement. Vous pouvez vérifier l’état en exécutant la commande “sudo systemctl status ssh”.
- Une fois SSH installé, vous pouvez vous connecter au serveur distant à l’aide de n’importe quel client SSH approprié.
Tutoriel (Partie 2) : Connexion à distance avec SSH
Se connecter à un système distant
Cette section décrit les étapes nécessaires pour configurer une connexion SSH à un système distant.
Étape 1 : Vérifier la disponibilité de SSH
La première étape consiste à vérifier si le service SSH est activé sur le système distant. Nous en avons brièvement parlé plus tôt dans cet article. Pour ce faire, exécutez la commande “ssh -V” dans votre terminal local. Cette commande vérifie si SSH est installé et affiche la version de SSH si disponible. Si la commande n’est pas reconnue ou si vous obtenez un message d’erreur indiquant que SSH n’est pas installé, vous devez installer SSH sur le système distant. Si vous rencontrez ce scénario, lisez la partie 1 de ce didacticiel plus haut dans cet article.
Étape 2 : Accéder au système distant via SSH
Une fois SSH installé et actif sur le système distant, vous pouvez vous connecter à l’aide de la commande ssh. La syntaxe de base est :
Il ne vous reste plus qu’à adapter ce code à votre situation. Par exemple, si vous souhaitez vous connecter en tant qu’utilisateur “john” sur l’adresse IP “192.168.0.100”, vous pouvez utiliser la commande “ssh john@192.168.0.100”.
Bon à savoir : lors de la première connexion à un système distant, un avertissement concernant l’authenticité de l’hôte peut s’afficher. Examinez attentivement les détails affichés (y compris la clé d’hôte) pour vous assurer que vous vous connectez au bon système distant. Si tout est correct, vous pouvez accepter la clé de l’hôte et poursuivre la connexion.
Étape 3 (facultative) : s’authentifier en toute sécurité à l’aide de clés SSH
Une méthode d’authentification plus sécurisée consiste à utiliser des clés SSH au lieu de mots de passe. Il s’agit d’une étape facultative afin que vous n’ayez pas à entrer votre mot de passe à chaque fois que vous vous connectez en utilisant SSH.
Si ce processus vous intéresse, voici les étapes à suivre pour utiliser les clés SSH.
Générer une paire de clés sur votre système local
- Ouvrez un terminal et exécutez la commande suivante : ssh-keygen -t rsa -b 4096.
- Suivez les invites pour entrer un nom de fichier pour votre clé et un mot de passe facultatif (pour protéger votre clé privée).
- Ajoutez votre clé publique au fichier ~/.ssh/authorized_keys sur le système distant.
- Copiez la clé publique sur le système distant en exécutant la commande suivante sur votre système local :
Enfin, il vous sera demandé d’entrer le mot de passe de l’utilisateur distant.
Tutoriel (Partie 3) : Transfert de fichiers à l’aide de SSH
Le protocole Secure Shell est surtout connu pour ses connexions à distance sécurisées et ses capacités de gestion de serveur. Mais saviez-vous qu’il peut également être utilisé pour transférer des fichiers de manière sécurisée et fiable entre des ordinateurs distants ?
Transfert de fichiers à l’aide des commandes SCP
Le moyen le plus courant de transférer des fichiers à l’aide de SSH consiste à utiliser la commande SCP (Secure Copy). SCP fonctionne comme la commande Unix cp, mais prend en charge la sécurité SSH.
Voici comment:
Le code de base pour utiliser SCP est “scp [options] source de destination”. ici,
Options : Représente des options supplémentaires qui peuvent être spécifiées pour personnaliser le transfert. Par exemple, vous pouvez spécifier le port SSH à utiliser ou définir des limites de bande passante.
Source : Représente le fichier ou le répertoire à transférer. Vous pouvez spécifier un chemin absolu ou relatif, et éventuellement un nom d’utilisateur et le nom de l’ordinateur distant. Cible : représente le répertoire cible dans lequel les fichiers seront copiés. Il peut s’agir d’un chemin local ou d’un chemin distant. Il vous suffit donc de modifier le code en fonction de ce que vous souhaitez transférer.
Transfert de fichiers à l’aide d’un client SFTP
En plus de SCP, vous pouvez également utiliser un client SFTP (Secure File Transfer Protocol) pour transférer des fichiers via SSH. Les clients SFTP offrent une interface plus conviviale et des fonctionnalités supplémentaires par rapport à SCP.
Il existe de nombreux clients SFTP disponibles, à la fois en ligne de commande et en interface graphique. Certains des clients SFTP les plus populaires incluent :
- Filezilla
- WinSCP (Windows)
- Cyberduck (Windows, macOS)
Ces clients SFTP vous permettent de vous connecter à des ordinateurs distants via SSH, de parcourir des répertoires, de transférer des fichiers et de gérer les autorisations.
Connexions SSH : Foire aux questions
Quels sont les problèmes les plus courants avec les connexions SSH et comment les résoudre ?
Connexion refusée
Assurez-vous que votre serveur SSH est en cours d’exécution, que le port est correct et que votre pare-feu ou votre routeur ne bloque pas la connexion.
Erreur d’authentification
Assurez-vous d’utiliser la bonne clé SSH, de la configurer correctement et d’avoir le bon mot de passe. Vérifiez également le journal d’authentification pour les détails de l’erreur.
Timeout de connexion dépassé
Vérifiez votre connexion réseau, réduisez la charge sur le serveur SSH ou ajustez le paramètre de délai d’expiration de la connexion du client SSH.
Clé SSH manquante ou erronée
Utilisez la commande ssh-keygen pour générer de nouvelles clés SSH et les configurer correctement sur votre serveur SSH.
Problèmes de configuration du serveur SSH
Vérifiez le fichier de configuration SSH (généralement situé dans /etc/ssh/sshd_config) pour vous assurer que les paramètres sont corrects.
Problèmes liés au pare-feu ou aux règles de sécurité
Assurez-vous que le port SSH (par défaut : 22) est ouvert dans le pare-feu du serveur et que les règles de sécurité autorisent les connexions SSH entrantes.
Comment se connecter via SSH dans Ubuntu ?
Voici les étapes pour se connecter à SSH dans Ubuntu.
- Vérifiez si le service SSH est installé
- Vérifier l’état du service SSH
- Vérifiez votre port SSH
- Obtenez l’adresse IP de votre appareil Ubuntu
- Établir une connexion SSH depuis un autre ordinateur
- S’authentifier
.