Comment utiliser la commande telnet sous Linux

Telnet (abréviation de « teletype network ») est un outil en ligne de commande qui facilite la communication à distance et les tests réseau. Il était largement utilisé pour la gestion des serveurs et des périphériques, mais son absence de chiffrement a soulevé des préoccupations en matière de sécurité dans les environnements modernes, ce qui a conduit à son déclin au profit d’alternatives telles que Secure Shell (SSH).

De nos jours, Telnet reste un utilitaire précieux pour tester les services réseau, déboguer les problèmes de connectivité, analyser les réponses des serveurs et se familiariser avec les protocoles réseau.

Dans cet article, nous aborderons tout ce que vous devez savoir sur l’utilisation de telnet sous Linux, notamment son installation, sa syntaxe de base et ses options, ses cas d’utilisation actuels, ainsi que les considérations importantes en matière de sécurité. À la fin de ce guide, vous serez en mesure d’utiliser cet outil réseau polyvalent dans des environnements contrôlés.

Prérequis

Avant d’utiliser Telnet sous Linux, préparez deux machines : l’une servant de client Telnet et l’autre de système cible.

Vous pouvez utiliser deux ordinateurs de bureau Linux, un ordinateur de bureau et un serveur privé virtuel (VPS), ou, comme dans ce tutoriel, deux configurations VPS de Hostinger. Si vous choisissez cette dernière option, sélectionnez n’importe quel plan adapté à vos besoins. Puisque nous ne faisons que nous exercer aux commandes Telnet, le plan le plus basique, KVM 1, suffira pour les deux serveurs.

Ensuite, assurez-vous de disposer des autorisations nécessaires pour accéder à la machine cible et de connaître son adresse IP. Si vous êtes un utilisateur de VPS Hostinger, vous pouvez trouver l’adresse IP de votre serveur dans hPanel en vous rendant dans VPS → Gérer → Aperçu.

Avertissement ! L’accès à des systèmes non autorisés est illégal et contraire à l’éthique. Dans notre cas, nous pouvons exécuter des commandes librement puisque nous sommes propriétaires des deux machines Linux.

Vérifiez que vous disposez des privilèges d’administrateur ou sudo pour installer et configurer Telnet sur le système client et le système cible. Pour les clients VPS Hostinger, nous vous accordons un accès root complet afin que vous puissiez modifier votre serveur selon vos besoins.

De plus, préparez un logiciel de terminal pour exécuter les commandes Telnet sur la machine cliente. Vous pouvez utiliser le terminal intégré à Linux ou un logiciel tiers tel que PuTTY. Hostinger propose également un terminal de navigateur qui vous permet d’exécuter des commandes directement dans votre navigateur sans installer d’autres applications.

Pour utiliser cette fonctionnalité, cliquez sur le bouton correspondant situé dans le coin supérieur droit de votre tableau de bord VPS. Cela ouvrira un nouvel onglet de navigateur dans lequel vous pourrez commencer à exécuter des commandes.

Terminal Browser de Hostinger dans un onglet du navigateur

Comment installer Telnet sous Linux

Dans cette section, nous allons installer Telnet sur la machine cliente principale et sur le système distant cible. Suivez attentivement les instructions et assurez-vous d’exécuter les commandes sur la bonne machine.

Machine cliente principale

Voici les étapes à suivre pour installer le client Telnet sur différentes distributions Linux :

  1. Mettez à jour et actualisez les paquets système pour maintenir votre système à jour :
  • Pour les systèmes basés sur Debian, tels qu’Ubuntu et Kali Linux :
sudo apt update && sudo apt upgrade
  • Pour les systèmes basés sur RHEL, tels que CentOS et Fedora :
sudo dnf upgrade
  1. Installez le client Telnet à l’aide de l’une des commandes suivantes :
sudo apt install telnet # Debian-based systems
sudo dnf install telnet # RHEL-based systems
  1. Vérifiez si le client a bien été installé en tapant :
telnet

L’installation a réussi si la session Telnet interactive s’affiche comme suit :

La session telnet interactive dans le terminal

Quittez la session avec :

quit

Système distant cible

Sur le système cible, vous devrez installer le serveur Telnet, ouvrir son port dans le pare-feu et créer un utilisateur dédié, car Telnet n’autorise pas l’accès root par défaut pour des raisons de sécurité. Suivez ces étapes :

  1. Mettez à jour et améliorez les paquets de votre système, comme sur la machine cliente :
sudo apt update && sudo apt upgrade # Debian-based systems
sudo dnf upgrade # RHEL-based systems
  1. Installez le serveur Telnet à l’aide de la commande suivante :
sudo apt install telnetd # Debian-based systems
sudo dnf install telnet-server # RHEL-based systems
  1. Sur les distributions basées sur Debian, le serveur Telnet démarre automatiquement. Pour les systèmes basés sur RHEL, démarrez et activez le service manuellement :
sudo systemctl start telnet.socket

sudo systemctl enable telnet.socket
  1. Vérifiez l’état du service pour vous assurer qu’il est bien en cours d’exécution :
systemctl status inetd # Debian-based systems
systemctl status telnet.socket # RHEL-based systems
La sortie dans le terminal de la commande systemctl status telnet.socket
  1. Autorisez le port Telnet (23 par défaut) à travers le pare-feu. Si vous n’utilisez aucun pare-feu, ignorez cette étape. Sinon, exécutez les commandes ci-dessous en fonction de votre distribution :
sudo ufw allow 23/tcp

sudo ufw reload
  • Pour les distributions basées sur RHEL utilisant Firewalld :
sudo firewall-cmd --permanent --add-port=23/tcp

sudo firewall-cmd --reload
  1. Créez un nouvel utilisateur spécialement pour Telnet, en remplaçant new_user par le nom d’utilisateur de votre choix :
sudo useradd new_user
  1. Définissez un mot de passe pour l’utilisateur en exécutant :
sudo passwd new_user

Vous serez invité à saisir et à confirmer le mot de passe.

La sortie de la commande sudo passwd new_user dans le terminal

Désinstallation de Telnet

Si vous n'avez plus besoin de telnet sur votre système, désinstallez-le à l'aide de la commande suivante :
sudo apt remove telnet telnetd # Systèmes basés sur Debian
sudo dnf remove telnet telnet-server # Systèmes basés sur RHEL

Syntaxe et options de base de la commande telnet

La syntaxe de base de telnet est la suivante :

telnet [options] [remote_server_ip] [port]
  • telnet – la commande permettant d’invoquer Telnet.
  • [options] – facultatif ; indicateurs qui modifient le comportement de la commande telnet.
  • [remote_server_ip] – l’adresse IP de la machine distante à laquelle vous souhaitez accéder.
  • [port] – facultatif ; le numéro de port auquel se connecter. S’il n’est pas spécifié, telnet utilise le port par défaut 23.

Une fois exécutée, la commande établit une connexion avec le serveur spécifié. Vous serez invité à saisir le nom d’utilisateur et le mot de passe que vous avez précédemment créés pour telnet :

Comme pour de nombreuses commandes Linux telles que ssh, scp et ftp, vous pouvez ajouter des options à la commande telnet pour personnaliser son comportement. Vous trouverez ci-dessous les options les plus couramment utilisées et leur fonction :

OptionFonction
-4Force l’utilisation d’IPv4.
-6Force l’utilisation d’IPv6.
-aTente une authentification automatique en fonction du nom d’utilisateur local.
-bSpécifie l’adresse IP locale à lier avant d’établir une connexion.
-cDésactive la lecture du fichier .telnetrc de l’utilisateur.
-dActive le mode débogage pour afficher des informations de diagnostic détaillées.
-e charDéfinit le caractère d’échappement pour la session Telnet.
-EDésactive le caractère d’échappement, en traitant toutes les entrées comme des littéraux.
-kEnvoie l’entité Kerberos spécifiée lors de l’authentification.
-l utilisateurSpécifie le nom d’utilisateur pour la connexion automatique.
-n fichierEnregistre la session dans un fichier spécifié.
-xActive le chiffrement de la session si cette fonctionnalité est prise en charge.
-XDésactive l’option TELNET STARTTLS.
-?Affiche le menu d’aide de telnet.
-VAffiche la version du client telnet.

Par exemple, si vous avez plusieurs utilisateurs Telnet et que vous souhaitez en spécifier un au départ, vous pouvez exécuter la commande ci-dessous. Remplacez « user » et « remote_server_ip » par vos identifiants réels :

telnet -l user remote_server_ip

Une fois connecté à la machine distante, vous pouvez interagir avec son shell comme s’il s’agissait de votre serveur principal.

Si vous souhaitez quitter la session, tapez simplement :

logout

Vous serez déconnecté de la session Telnet.

La sortie de la commande logout dans la session Telnet du terminal

Vous pouvez également accéder à la session interactive, comme nous l’avons fait précédemment pour vérifier si telnet était correctement installé, en tapant telnet sans aucun argument :

telnet

Exemples pratiques d’utilisation de Telnet

Voici quelques exemples d’utilisation sécurisée de Telnet dans des environnements modernes, allant de l’examen des serveurs de messagerie au dépannage des problèmes liés aux ports personnalisés.

Test des serveurs SMTP

Telnet peut aider à diagnostiquer les problèmes liés aux serveurs SMTP (Simple Mail Transfer Protocol) et à vérifier les configurations. Le processus consiste généralement à vérifier si le serveur accepte les connexions, traite correctement les commandes et gère les transmissions d’e-mails.

Pour vous connecter à un serveur SMTP à l’aide de Telnet, procédez comme suit :

  1. Exécutez la commande suivante pour établir une connexion. Remplacez smtp.example.tld par les informations de votre serveur SMTP :
telnet smtp.example.tld 25

Si la connexion aboutit, vous verrez s’afficher un message de bienvenue du serveur de messagerie, similaire à :

La sortie de la commande telnet smtp.example.tld 25 dans la session telnet du terminal
  1. Présentez-vous au serveur SMTP en utilisant le nom de domaine à partir duquel vous vous connectez. Remplacez domain.tld par votre adresse réelle :
HELO domain.tld
La sortie de la commande HELO domain.tld dans la session Telnet du terminal
  1. Saisissez la commande suivante pour définir l’expéditeur du message :
MAIL FROM:<mail_sender@domain.tld>
  1. Procédez de la même manière pour le destinataire de l’e-mail :
RCPT TO:<mail_recipient@domain.tld>
  1. Pour saisir le contenu de l’e-mail, tapez :
DATA
  1. Le serveur vous invitera à saisir le corps du message. Tapez votre message et terminez en saisissant un seul point (.) sur une nouvelle ligne pour indiquer la fin du message :
Subject: Test Email

This is a test email sent using telnet.

.

Le serveur devrait confirmer que le message a été mis en file d’attente.

  1. Une fois votre test terminé, quittez la session en tapant :
QUIT

Lectures recommandées

Il existe plusieurs ports SMTP que vous pouvez utiliser : 25, 465, 587 et 2525. Découvrez leurs différences et comment choisir celui qui correspond le mieux à vos besoins.

Évaluation des serveurs POP3

Outre le test des serveurs SMTP, Telnet s’avère également pratique pour vérifier les serveurs POP3 (Post Office Protocol 3). Grâce à cette méthode, vous pouvez vous authentifier et interagir avec votre boîte de réception afin de résoudre les problèmes de récupération des e-mails.

Voici le guide pour tester un serveur POP3 :

  1. Tapez la commande ci-dessous, en remplaçant pop.example.tld par le nom d’hôte réel de votre serveur POP3 :
telnet pop.example.tld 110
La sortie de la commande telnet pop.example.tld 110 dans la session telnet du terminal
  1. Saisissez votre adresse e-mail complète ou simplement le nom de domaine. Dans certains cas, vous devrez peut-être tester les deux pour voir lequel fonctionne :
USER address@domain.tld  

USER domain.tld
  1. Une fois que le serveur répond par +OK, saisissez votre mot de passe de messagerie pour vous connecter :
PASS your_password

Si l’opération réussit, vous devriez voir s’afficher :

La sortie de la commande PASS your_password dans la session Telnet du terminal
  1. Essayez de consulter le nombre total d’e-mails dans votre boîte de réception :
STAT
  1. Pour lister tous les e-mails avec leurs identifiants et leur taille :
LIST
La sortie de la commande LIST dans la session Telnet du terminal
  1. Vous pouvez également récupérer le contenu d’un e-mail. Remplacez « id » par le numéro d’identifiant unique de l’e-mail :
RETR id
  1. Après avoir vérifié le bon fonctionnement du serveur, n’oubliez pas de quitter Telnet. Tapez :
QUIT

Débogage des serveurs HTTP

Vous pouvez utiliser telnet pour déboguer des serveurs HTTP (HyperText Transfer Protocol) en vous connectant à eux sur le port 80, le port par défaut pour le trafic HTTP. Cette approche vous permet d’envoyer manuellement des requêtes et de vérifier si le serveur répond correctement.

Si votre machine distante dispose d’un serveur HTTP, voici comment le déboguer :

  1. Connectez-vous au serveur distant en exécutant :
telnet remote_server_ip 80
  1. Saisissez la requête HTTP GET suivante pour récupérer la page par défaut du serveur. Remplacez domain.tld par le nom de domaine qui pointe vers le serveur :
GET / HTTP/1.1

Host: domain.tld

Veillez à appuyer deux fois sur Entrée après avoir saisi la requête.

  1. Le serveur répondra avec les en-têtes HTTP et, dans la plupart des cas, le contenu de la page demandée. Par exemple :
La sortie de la requête HTTP GET dans la session Telnet du terminal

Comme d’habitude, tapez quit une fois le débogage terminé.

Demandez à Kodee

Au lieu d'utiliser telnet, vous pouvez vérifier la disponibilité et l'accessibilité de votre VPS Hostinger en interrogeant l'assistant IA Kodee. Il vous suffit de demander : « Vérifiez si l'un de mes VPS subit des temps d'arrêt, des problèmes ou des perturbations. »

Vérification des serveurs FTP

L’utilisation de telnet pour tester un serveur FTP (File Transfer Protocol) est un moyen rapide de vérifier s’il fonctionne correctement et si le port par défaut 21 n’est pas bloqué. Veuillez noter que cela est uniquement destiné à des fins de test. Lors du transfert de fichiers, utilisez toujours des protocoles plus sécurisés tels que FTPS ou SFTP.

Voici les instructions pour vérifier votre serveur FTP :

  1. Utilisez cette commande pour accéder au serveur, en remplaçant remote_server_ip par les informations réelles de votre serveur :
telnet remote_server_ip 21
La sortie de la commande telnet remote_server_ip 21 dans la session telnet du terminal
  1. Vous pouvez envoyer manuellement des commandes FTP de base pour vérifier le bon fonctionnement du serveur. Par exemple, pour vérifier le type et la version du serveur :
SYST
  1. Ou, pour vérifier les fonctionnalités prises en charge par votre serveur FTP :
FEAT
La sortie de la commande FEAT dans la session Telnet du terminal

Interagir avec les serveurs IRC

Internet Relay Chat (IRC) est un protocole de communication textuelle en temps réel utilisé pour les discussions de groupe. Bien que les plateformes de messagerie modernes l’aient largement remplacé, vous pouvez toujours vous connecter à un serveur IRC à l’aide de telnet pour tester sa disponibilité et interagir avec lui.

Gardez à l’esprit que l’IRC est un protocole en texte clair ; évitez donc d’y partager des informations sensibles. Suivez ces étapes pour vous connecter à un serveur IRC avec telnet :

  1. Utilisez la commande suivante pour vous connecter au serveur IRC de votre choix sur son port par défaut, le 6667 :
telnet irc.domain.tld 6667
La sortie de la commande telnet irc.domain.tld 6667 dans la session telnet du terminal
  1. Une fois que le serveur vous a accueilli, envoyez une commande NICK pour définir votre pseudonyme :
NICK your_nickname
  1. Définissez votre nom d’utilisateur et indiquez un identifiant personnel :
USER your_username 0 * :Your Full Name
  1. Utilisez la commande JOIN pour rejoindre un canal IRC. Remplacez #nom_du_canal par le nom du canal que vous souhaitez rejoindre :
JOIN #channel_name

Si l’opération réussit, vous recevrez des messages provenant du canal, y compris une liste des utilisateurs actuellement présents dans le chat :

La sortie de la commande JOIN #channel_name dans la session Telnet du terminal
  1. Pour envoyer un message au canal, utilisez :
PRIVMSG #channel_name :Your message here
  1. Lorsque vous avez terminé, quittez le serveur en tapant :
QUIT :Goodbye message

Vérification des ports personnalisés

Enfin, telnet vous permet de tester la connectivité vers n’importe quel port ouvert, ce qui s’avère particulièrement utile si vous avez des services non standard fonctionnant sur des ports personnalisés ou si vous avez remplacé le port par défaut d’un service par un port personnalisé, par exemple en faisant passer SSH du port 22 à un autre.

Voici comment procéder :

  1. Indiquez l’adresse IP du serveur distant et le port que vous souhaitez tester :
telnet remote_server_ip port

Vous recevrez une réponse si le port est ouvert et que le service est en cours d’exécution. Dans le cas contraire, Telnet affichera un message d’erreur :

La sortie de la commande telnet remote_server_ip port dans la session telnet du terminal
  1. En fonction du service s’exécutant sur le port personnalisé, envoyez les commandes appropriées pour interagir avec lui. Par exemple, s’il s’agit d’une application sur mesure, vous pouvez utiliser la commande ci-dessous, en remplaçant /custom_endpoint par le chemin défini par votre service :
GET /custom_endpoint HTTP/1.1

Host: remote_server_ip

En fonction de l’application, le service répondra avec des données spécifiques au port personnalisé, telles que des en-têtes, des messages ou même des codes d’erreur.

Considérations de sécurité relatives à l’utilisation de la commande telnet

Telnet était historiquement utilisé pour les connexions à distance et l’administration réseau. Cependant, toutes les données, y compris les informations sensibles telles que les noms d’utilisateur et les mots de passe, sont transmises en clair. Cela le rend très vulnérable à l’interception par des attaquants, en particulier sur les réseaux publics ou non fiables.

En raison de ces risques, vous ne devriez exécuter Telnet que dans des environnements contrôlés ou locaux pour des tâches de débogage de base, telles que le test des ports ouverts ou la vérification de la communication SMTP.

Pour des communications sécurisées avec des serveurs distants, il est préférable d’utiliser SSH, car ce protocole chiffre toutes les données en transit, protégeant ainsi vos informations contre toute écoute potentielle.

Si vous devez tester des protocoles sécurisés ou des services chiffrés, envisagez des alternatives plus sûres telles qu’OpenSSL ou Netcat (nc). Ces outils vous permettent de déboguer et de tester en toute sécurité les connexions réseau, ce qui est idéal pour les applications sensibles.

Conclusion

Dans cet article, nous avons abordé l’utilisation de la commande telnet pour tester des services tels que les serveurs SMTP, POP3, HTTP et des ports spécifiques. Cela montre à quel point telnet reste utile pour le dépannage des problèmes réseau dans un environnement Linux contrôlé ou local.

Toutefois, en raison de l’absence de chiffrement, vous devez utiliser le protocole telnet de manière responsable et uniquement pour des tâches non sensibles. Nous recommandons SSH, openssl ou nc pour les connexions à distance sécurisées ou les évaluations de services chiffrés.

En tenant compte des atouts et des risques de Telnet, vous pouvez l’utiliser efficacement dans des scénarios spécifiques tout en privilégiant des alternatives sécurisées pour les applications critiques. Veillez également à disposer des autorisations nécessaires avant d’utiliser Telnet pour accéder à des serveurs ou des services distants.

Si vous avez des questions concernant Telnet ou si vous souhaitez partager votre expérience d’utilisation, n’hésitez pas à utiliser la zone de commentaires ci-dessous.

FAQ sur la commande telnet sous Linux

Quelle est la commande telnet utilisée sous Linux ?

La commande telnet sous Linux sert à tester et à dépanner les services réseau en établissant une connexion en texte clair vers un hôte distant. Elle permet de vérifier si des ports spécifiques sont ouverts et si des services tels que SMTP, HTTP et POP3 répondent comme prévu.

En quoi Telnet diffère-t-il de SSH ?

Telnet transmet les données en texte clair, ce qui le rend peu sûr, tandis que SSH crypte toutes les communications pour garantir la sécurité des données. Telnet est généralement utilisé pour le débogage de base dans des environnements contrôlés, tandis que SSH est l’outil privilégié pour l’accès sécurisé à des serveurs distants et l’administration système.

Puis-je utiliser Telnet pour tester un serveur sécurisé ?

Non, Telnet ne permet pas de tester des serveurs sécurisés car il ne prend pas en charge les connexions chiffrées. Utilisez plutôt des outils tels qu’OpenSSL ou NC pour tester les serveurs exécutant des protocoles sécurisés, tels que HTTPS ou SMTPS, qui nécessitent un chiffrement.

Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

Author
L'auteur

Katerina Bosinaki

Katerina is a Localization Project Manager at Hostinger, bringing over 5 years of project management experience and a 6-year background as a linguist. She focuses on making technology more approachable by transforming complex guides into clear, easy-to-follow tutorials. In her free time, when she’s not staying up-to-date with the latest in localization, she enjoys watching movies and reading books.

Ce que disent nos clients

Laissez une réponse

Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.