À l’ère de la connectivité à distance, les utilisateurs et les administrateurs de systèmes doivent utiliser des outils pour rendre les activités à distance sûres, sécurisées et rapides.
Lorsque l’on parle de méthodes de connectivité à distance, deux noms viennent en tête : SSH et Telnet.
SSH ou Telnet ? Dans cet article, nous allons voir quelle est la meilleure méthode d’accès à distance. Découvrez-le dans notre comparaison entre SSH et Telnet.
Qu’est-ce que l’accès à distance ?
L’accès à distance permet aux utilisateurs ou aux administrateurs d’accéder à des ordinateurs ou à des périphériques sur des réseaux depuis n’importe quel endroit en utilisant Internet. Ils peuvent ainsi effectuer différentes opérations, notamment transférer des fichiers, collaborer et sécuriser le trafic des applications.
L’accès à distance est vital pour la survie et la prospérité des organisations. En outre, les administrateurs ont besoin d’un accès à distance approprié pour gérer les serveurs, les réseaux et les applications sans avoir à se rendre physiquement sur place.
Qu’est-ce que SSH ?
Secure Shell ou Secure Socket Shell (SSH) est un protocole réseau qui permet à des ordinateurs situés sur un réseau non sécurisé de communiquer entre eux en toute sécurité.
Une fois la connexion sécurisée établie, l’utilisateur ou l’administrateur peut se connecter à la machine distante et exécuter des applications à distance ou utiliser la connexion cryptée de bout en bout pour déplacer des fichiers sur le réseau.
SSH fait référence à la suite de technologies et d’utilitaires qui mettent en œuvre le protocole SSH. Pour sécuriser SSH, plusieurs technologies sont mises en œuvre, à commencer par l’authentification par clé publique, les communications de données cryptées et l’authentification par mot de passe fort.
La société à l’origine du développement de SSH est Netscape Communications Corporation. Cependant, c’est un informaticien finlandais, Tatu Ylonen, qui a créé les premiers modèles de SSH. Il l’a développé après avoir trouvé un renifleur de mot de passe secret sur le réseau qu’il venait de créer.
Comment fonctionne SSH ?
SSH remplace les anciens protocoles de connectivité à distance tels que Telnet, rlogin, rsh, etc. La plupart de ces protocoles sont populaires mais manquent de sécurité. En fait, SSH est si bon que les utilisateurs l’utilisent au lieu de se fier aux protocoles de transfert de fichiers tels que la copie à distance (rcp) et le protocole de transfert de fichiers (FTP).
SSH utilise un modèle client-serveur dans lequel un client SSH se connecte au serveur SSH.
- Leclient SSH est un programme résidant sur un ordinateur ou un périphérique qui lance le protocole SSH. Le client envoie une requête au serveur SSH et attend qu’il l’accepte. Le client SSH utilise le chiffrement à clé publique pour vérifier et garantir qu’il se connecte au bon serveur. Cette approche garantit que des acteurs malveillants ne peuvent pas se faire passer pour un serveur et voler des informations vitales au client.
- Leserveur SSH gère les connexions SSH et exécute le service. Pour accepter les demandes entrantes, le serveur SSH écoute en permanence le port TCP 22 (par défaut). Dès qu’il reçoit une demande, il y répond. Le serveur SSH vérifie et authentifie également le client à l’aide de l’authentification par clé publique. Ce n’est qu’après une authentification réussie que le client peut accéder au système hôte.
Le client et le serveur font le choix du cryptage. Ils peuvent désactiver un cryptage plus faible. Il prend également en charge les connexions multiples, ce qui vous permet d’effectuer plusieurs tâches (téléchargement, édition ou exécution d’un programme) en ouvrant plusieurs canaux par le biais d’une seule connexion SSH.
La syntaxe SSH est la suivante :
$ ssh nom_utilisateur@hôte
Le nom d’utilisateur est le nom d’utilisateur que vous utilisez pour vous connecter à l’hôte. L’hôte peut être une adresse IP ou un nom de domaine.
Comme vous pouvez le voir, le flux SSH simplifié se compose des éléments suivants :
- Le client SSH initie une connexion à un serveur SSH particulier
- Le serveur SSH reçoit la connexion et envoie sa clé publique au client.
- Le client enregistre la clé publique du serveur dans le fichier de son hôte (pour une connectivité future).
- Le serveur et le client négocient et établissent les paramètres de connexion.
SSH offre une option de connectivité solide avec une excellente sécurité et une protection de l’intégrité des données. Il suit également une normalisation IETF pour une meilleure mise en œuvre et est intact depuis les 15 dernières années.
Si vous souhaitez vous plonger dans les aspects techniques de SSH, consultez le document de normalisation SSH RFC 4253. Vous pouvez également consulter l’article de Geekflare sur la compréhension de SSH.
Qu’est-ce que Telnet ?
Telent est l’abréviation de Teletype Network. Il s’agit d’un autre protocole réseau populaire qui offre une connectivité à distance par le biais d’une interface de ligne de commande. Comme SSH, vous pouvez l’utiliser pour prendre le contrôle à distance et effectuer des actions. Cependant, il n’offre pas l’aspect sécuritaire de SSH.
Ce manque de sécurité s’explique par le fait qu’à l’époque de sa création, en 1969, la plupart des communications étaient effectuées dans un réseau local, qui est plus sûr que l’internet, qui n’est pas sécurisé.
Comment fonctionne Telenet ?
Telenet fonctionne en créant une communication textuelle de terminal à terminal entre le client et le serveur. Il utilise un modèle client-serveur avec une connexion de huit octets.
Une fois la connexion établie, vous pouvez effectuer différentes opérations sur l’ordinateur distant, notamment vérifier les ports ouverts, configurer des périphériques, modifier des fichiers et même exécuter des programmes.
La syntaxe de Telnet est la suivante
$ telnet nom d'hôte port
Pour en savoir plus sur Telnet, consultez la page Commandes Telnet pour tester et résoudre les problèmes de connexion.
Quand et où devriez-vous utiliser SSH ?
SSH est principalement utilisé pour
- L’administration de systèmes à distance
- L’exécution de commandes à distance
- Sécuriser le trafic de l’application
- Les transferts de fichiers
Les administrateurs peuvent également mettre en place des sessions SSH automatisées qui gèrent des tâches répétitives telles que la création de sauvegardes réseau, la collecte de fichiers journaux, l’exécution périodique de tâches de maintenance, etc.
SSH doit être utilisé pour toute opération de connectivité à distance, en particulier sur un réseau non sécurisé, notamment Internet. SSH est également une excellente option pour une utilisation sur le réseau local, car vous ne pouvez jamais être sûr que votre réseau local est complètement sécurisé.
Quand et où devriez-vous utiliser Telenet ?
Telnet n’étant pas sécurisé, vous éviterez de l’utiliser pour vous connecter à distance sur un réseau non sécurisé. Toutefois, cela ne signifie pas que Telnet est inutile.
Vous pouvez utiliser Telnet pour effectuer les opérations suivantes :
- Dépanner SSH (Oui, vous avez bien lu. 😃)
- Dépanner les serveurs FTP, SMTP et web.
- Vérifier si un port est ouvert ou non
- Accéder à des réseaux internet de confiance.
SSH contre Telnet
Dans cette section, nous allons comparer SSH et Telnet selon différents critères. Si vous êtes pressé, consultez le tableau de comparaison entre SSH et Telnet.
SSH | Telnet | |
Sécurité | Hautement sécurisé : le client et le serveur peuvent négocier la mise en place d’algorithmes de cryptage. | Non sécurisée, aucun mécanisme de sécurisation de la connexion ou des paquets Telent. |
Authentification | SSH utilise le chiffrement par clé publique à des fins d’authentification. | Telnet n’a pas de mécanisme d’authentification. Il demande simplement le nom d’utilisateur/mot de passe, qui est transféré sans aucune protection. |
Fonctionnement | SSH utilise le port TCP 22 par défaut. Vous pouvez le changer pour un autre port afin d’empêcher les pirates de tenter un accès non autorisé. | Telent utilise par défaut le port 23 pour écouter les connexions entrantes. Vous pouvez le configurer pour le protéger contre les accès non autorisés. |
Modèle | Modèle client-serveur. | Modèle client-serveur. |
Vitesse de transfert des données | Techniquement plus lente que Telnet, mais à peine perceptible en utilisation réelle. | Plus rapide que SSH en raison de l’absence de protocoles de sécurité. |
Sécurité
SSH est sûr. Il assure la sécurité de votre connexion grâce à des protocoles de cryptage appropriés. Cependant, Telenet est totalement dépourvu de mesures de sécurité.
Dans SSH, le client et le serveur peuvent négocier les paramètres de connexion, y compris l’algorithme de cryptage de bout en bout. Cela permet de bloquer les algorithmes de cryptage faibles et de rendre la connexion SSH aussi sûre que possible.
Dès qu’une connexion TCP/UDP est établie entre le client et le serveur, une tentative de création d’une connexion sécurisée commence.
Pour mieux comprendre le fonctionnement de la sécurité SSH, nous allons nous pencher sur le contenu du paquet SSH. Un paquet SSH se compose de cinq éléments, à savoir
- Longueur du paquet : 4 octets ; quelle sera la taille du paquet ?
- Quantité de remplissage : 1 octet : quantité de remplissage du paquet
- Charge utile : les données transférées ; leur taille varie
- Rembourrage : le rembourrage proprement dit, et non la TAILLE mentionnée précédemment. Il s’agit d’octets aléatoires combinés à la charge utile pour la rendre plus cryptée.
- Code d’authentification du message : Une balise pour valider l’authenticité du paquet afin de s’assurer que les données du paquet ne sont pas modifiées.
Lorsque SSH met en œuvre le cryptage, seuls la longueur du paquet et le code d’authentification du message peuvent être lus. Le client et le serveur négocient les paramètres de connexion par le biais d’un code d’authentification de message. En outre, les paquets SSH peuvent être compressés à l’aide de différents algorithmes de compression.
Telnet manque de sécurité. Il effectue une authentification non sécurisée pour connecter le client et le serveur. Ainsi, tout acteur malveillant peut lire le paquet Telent et compromettre la connexion.
Authentification
SSH est un protocole sécurisé. Il s’appuie sur le chiffrement à clé publique pour authentifier le client et le serveur. En termes plus techniques, SSH peut utiliser des algorithmes cryptographiques asymétriques ou symétriques pour coupler les clés publiques et privées.
Telent, en revanche, ne dispose d’aucune protection pour l’authentification. Son processus d’authentification demande le nom de compte et le mot de passe avant la connexion. De plus, le nom d’utilisateur et le mot de passe sont envoyés sans aucune sécurité et peuvent donc être consultés par n’importe qui.
Fonctionnement
En ce qui concerne le fonctionnement, SSH fonctionne par défaut sur le port TCP 22. Telnet, quant à lui, utilise le port TCP 23. Vous pouvez donc utiliser les protocoles SSH ou Telnet sans spécifier le numéro de port. La commande essaiera de se connecter automatiquement aux ports 22 et 23, respectivement.
Cependant, ces ports sont bien connus et peuvent être utilisés par des pirates pour effectuer des accès non autorisés.
Vous pouvez modifier les protocoles SSH et Telnet sur d’autres ports pour remédier à ce problème. Il est préférable de fermer les ports communs et de choisir des ports entre 1024 et 65535.
Dans Telent, les commandes sont envoyées au format Network Virtual Terminal (NVT). Le serveur Telent est capable de recevoir et de comprendre ce format. Comme vous pouvez le constater, il n’y a pas de cryptage ou d’authentification.
En ce qui concerne SSH, une fois la connexion client-serveur établie, une session est générée et identifiée à l’aide de la clé de session. Cette clé crypte le trafic jusqu’à la fin de la session. En outre, le serveur doit vérifier le client. Il le fait en générant une paire de clés SSH. Une fois la vérification effectuée, un canal de cryptage de bout en bout est créé pour un transfert de données en toute sécurité.
Modèle
SSH et Telnet utilisent tous deux le modèle client-serveur. C’est une excellente chose, étant donné que le modèle client-serveur présente de nombreux avantages :
- Il peut évoluer horizontalement, le serveur pouvant ajouter des ressources si nécessaire.
- Les clients peuvent être optimisés pour des entrées de données appropriées
- Il répartit le traitement de l’application entre le client et le serveur
Vitesse et frais généraux
Pour bien comprendre SSH et Telnet, il faut connaître l’impact de leurs frais généraux. En général, SSH a plus de frais généraux que Telnet, mais vous remarquerez à peine la différence dans des scénarios réels.
Techniquement, Telnet et SSH procèdent à une nouvelle saisie après 1 heure de connexion ou 1 Go de temps de connexion.
En ce qui concerne la bande passante, SSH a plus de frais généraux, mais ils n’ont qu’un impact minime sur les utilisateurs. En ce qui concerne l’unité centrale du client et du serveur, les frais généraux sont minimes, grâce à la façon dont la norme AES fonctionne et est mise en œuvre dans les connexions SSH.
En résumé, SSH et Telnet n’ont pas de différence visuelle en termes de vitesse ou de surcharge. Cependant, si vous les comparez d’un point de vue technique, SSH est plus rapide que Telnet.
Cas d’utilisation de SSH et Telnet
Dans cette section, nous allons examiner quelques cas d’utilisation de SSH et de Telnet.
Cas d’utilisation de SSH
Les cas d’utilisation de SSH sont les suivants
- Exécution de commandes à distance
- Accès sécurisé aux ressources d’une machine distante
- Transfert de fichiers à distance
- Fournir des mises à jour logicielles à distance
- Mise en place d’un transfert de fichiers automatisé ou transfert manuel
Cas d’utilisation de Telnet
Les cas d’utilisation de Telnet sont les suivants
- Dépannage de SSH
- Dépanner les serveurs FTP, SMTP et Web.
- Vérifier si un port est ouvert ou non
- Accéder à des réseaux Internet de confiance.
Réflexions finales : Lequel est le meilleur ?
SSH est meilleur. Il s’agit d’un protocole réseau moderne et actualisé qui sécurise l’accès à distance. Jusqu’à présent, aucune faille de sécurité n’a été découverte dans ce protocole. De plus, il est facile à utiliser et à configurer.
Telnet, quant à lui, est tombé en désuétude. Il a maintenant près de 50 ans. Cependant, il est toujours utile dans les scénarios actuels et vous pouvez l’utiliser pour dépanner SSH ou vérifier si un port est ouvert. Les administrateurs peuvent utiliser Telnet pour résoudre la plupart des problèmes de réseau.