Bonjour,
Aujourd’hui je vais vous montrer comment configurer un Routeur (ou un Switch) pour qu’on puisse y avoir accès à distance depuis n’importe quel endroit.
Il est très avantageux
de pouvoir manipuler, surveiller, contrôler et configurer un équipement tel qu’un
Routeur ou un Switch à distance ; on parle de supervision ou
d’administration à distance, on gagne énormément en termes de temps, d’argent,
et même de rapidité d’intervention ; par exemple grâce à ce procédé on
pourra prendre plus rapidement des mesures en cas d’incident ou de panne.
Nous allons vous montrer
comment configurer un équipement réseau tel qu’un Routeur ou un Switch pour qu’il
soit manipulable (manageable) à distance par un administrateur ou un technicien
réseau et ceci depuis son domicile par exemple ou ailleurs, outre le lieu où se
trouve physiquement ou géographiquement l’équipement (Routeur ou Switch) en
question, pour ce faire nous allons les configurer pour qu’ils puissent
utiliser le protocole Telnet et ou SSH.
Mais tout d’abord avant
d’entrer proprement dans le vif du sujet,
Qu’est ce
que le protocole Telnet ?
Telnet (Terminal
Network ou Telecommunication Network) est un protocole de type Client-Serveur
permettant de communiquer avec un équipement réseau (Serveur, Routeur, …) à distance.
Configuration
de Telnet sur un Routeur ou un Switch
La configuration d’un
équipement tel qu’un Routeur ou un Switch pour qu’on puisse y accéder à
distance via Telnet, se fait comme suit :
(PS :
les configurations suivantes sont faites au sein d’un Routeur Cisco série C7200)
Tout d’abord on
attribue une adresse IP (Internet Protocol) à notre Routeur :
C’est cette adresse
qu’on utilisera via Telnet pour nous connecter à notre périphérique ; une
fois que nous avons attribué une adresse IP à notre Routeur, on poursuit en
définissant avec la commande « username
nom_utilisateur password mot_de_passe » un compte utilisateur et un
mot de passe, qui nous serviront comme identifiants pour ouvrir une session
Telnet à distance sur notre Routeur, on définit également un mot de passe qui
nous donnera accès au mode « privilégié » sur notre Routeur grâce à
la commande « enable secret (ou
password) mot_de_passe »,
Dans notre cas nous
choisirons comme nom d’utilisateur jacques et
comme mot de passe de la session Telnet pswdtelnet
et enfin goueth nous fait office de mot de passe
pour avoir accès au mode « privilégié » sur le Routeur. Une fois
qu’on a définit nos identifiants, on active les lignes virtuelles VTY qui
rendent possible la connexion à distance à un équipement comme un Routeur ou un
Switch via un protocole d’accès à distance (Telnet, SSH, …), ensuite on précise
grâce à la commande « login
local » au Routeur que les seuls utilisateurs pouvant se connecter sur
lui sont ceux qui ont déjà été préalablement enregistrés :
Et voilà notre Routeur
est prêt à être administrer à distance, désormais on peut avoir accès à notre
Routeur de n’importe quel endroit où l’on se trouve du moment qu’il soit
connecté au même réseau que nous, dans un Intranet ou même encore sur Internet,
et surtout qu’on connaisse son adresse IP. Nous allons vite le vérifier ;
Par exemple sur notre
ordinateur (192.168.1.2) connecté au même réseau
(192.168.1.0 / 25) que notre Routeur (192.168.1.1) :
On entre dans l’invite
de commande (CMD), la commande Telnet suivie de l’adresse IP de l’équipement
sur lequel on veut se connecter à distance, dans notre cas en occurrence on
entre telnet suive de 192.168.1.1 qui est l’adresse IP de notre Routeur
sur le réseau :
Ensuite une session
Telnet se lance vers le Routeur, puis on est invité à entrer les identifiants nom d’utilisateur et mot de passe pour pouvoir
se connecter au Routeur, une fois qu’on a entrer le nom d’utilisateur et le mot
de passe dans notre cas ici jacques et le mot de
passe qui lui est associé pswdtelnet qu’on avait
définit précédemment lors de la configuration du Routeur, on obtient l’accès en
mode « utilisateur » ( > ) sur le Routeur, comme le montre la
capture suivante :
Avant de pouvoir entrer
des commandes sur le Routeur, nous devons passer en mode
« privilégié » ( # ), en tapant le mot clé enable,
ensuite un mot de passe nous est demandé rappelez vous il s’agit du mot de
passe définit plus haut avec la commande « enable
secret mot_de_passe » dans notre cas c’est goueth :
Nous pouvons à présent contrôler,
superviser, et même modifier la configuration de notre Routeur ; adresser
ses interfaces réseau, définir des protocoles de routage, définir une politique
de sécurité, … et ceci depuis notre ordinateur et ça tranquillement depuis
notre domicile par exemple ou d’ailleurs.
Nous venons d’ouvrir
une session Telnet à distance sur notre Routeur, et pouvons y travailler dessus
comme si on n’y était directement ou physiquement connecté.
Bien que Telnet soit
assez pratique et bénéfique, pour les administrateurs réseau il n’est néanmoins
pas fiable, car en effet les messages échangés au cours de la communication
entre les équipements Client-Serveur utilisant le protocole Telnet sont passés
« en clair », raison pour laquelle on dit de Telnet qu’il n’est pas
sécurisé. En effet si un Hacker se trouvant dans le même réseau que nous vient
à nous espionner avec un sniffer de réseau tel que Wireshark par exemple, il
lui sera facile de récupérer les informations échangées entre le Routeur et
nous puisque celles-ci circulent
« en clair » dans le réseau.
Si par exemple au
moment où nous consultons les configurations de notre Routeur distant depuis notre ordinateur,
Un Hacker sniffant le
réseau au même moment pourra facilement récupérer et décoder le trafic pour voir
« en clair » les informations échangées entre le Routeur et nous :
Comme le protocole
Telnet n’est pas vraiment fiable en terme de confidentialité, on utilise
majoritairement un autre protocole pour la communication à distance entre
deux ou plusieurs périphériques réseau : le protocole SSH.
Qu’est ce
que le protocole SSH ?
Secure Shell (SSH) est
un protocole de communication sécurisé qui permet l’authentification et le
chiffrement entre différents équipements distants. Le protocole SSH existe en
deux versions : SSH version 1 et SSH version 2 ; la version 2 est
plus sure d’un point de vue Cryptographique que son prédécesseur mais toutes les
deux sont largement plus fiable d’un point de vue sécuritaire par rapport à
Telnet.
Maintenant que vous en
savez un peu plus sur le protocole Secure Shell, nous allons passer à sa
configuration sur un Routeur :
Configuration
de SSH sur un Routeur ou un Switch
L’avantage majeur du
protocole SSH par rapport au protocole Telnet est le fait qu’il apporte une
couche de sécurité à la connexion à distance en chiffrant les données
échangées. Pour implémenter SSH au sein d’un routeur ou un Switch il faut au
préalable impérativement attribuer un nom dit nom d’hôte à l’équipement via la
commande « hostname », ce
nom sera utilisé pour générer la clé de chiffrement d’où son importance :
Ensuite comme
précédemment lors de la configuration du protocole Telnet, on définit un compte
utilisateur et un mot de passe qui nous serviront à ouvrir une session SSH sur
le Routeur, puis on définit également un mot de passe qui nous donnera accès au
mode « privilégié » sur le Routeur distant,
Puis vient l’étape de
la création de la clé de chiffrement, nous allons générer une clé de
chiffrement RSA (Rivest Shamir Adleman) comme suit :
- On définit un nom de domaine via la commande « ip domain-name nom_de_domaine» dans notre cas ce nom de domaine sera monblog, il faut noter aussi que ce nom de domaine sera également utilisé dans la génération de la clé de chiffrement RSA ;
- Puis on génère proprement dite la clé avec la commande « crypto key generate rsa », après on est invité à entrer la taille de la clé RSA à générer et qui sera utilisé pour le chiffrement des données, faut savoir également que plus la taille de la clé est grande plus le risque qu’elle soit déchiffrer est moins élevé ;
(PS :
RSA est un algorithme de chiffrement à double clé (une clé publique et l’autre
clé dite privée), on parle aussi de
cryptographie asymétrique)
On active le protocole
SSH avec la commande « ip ssh
version 1 ou 2 », l’IOS (Internetworking Operating System) de notre
Routeur de test ne prenant pas en compte la version 2 de SSH, nous nous
contenterons de la version 1 qui est toute aussi sécurisé et il faut noter
également que les commandes sont les mêmes que lorsqu’on travaille avec la
version 2 de SSH :
Puis on active les
lignes virtuelles VTY pour permettre des connexions distantes au Routeur et on
indique le protocole qui à le droit d’utiliser ces lignes VTY, ici en
occurrence SSH via la commande « transport
input ssh » et enfin tout comme avec Telnet on indique au Routeur
d’autoriser uniquement les utilisateurs enregistrés sur le Routeur comme les
seuls pouvant se connecter à distance sur lui toujours via la commande « login local » ;
A présent notre Routeur
peut être accessible à distance via le protocole SSH depuis notre ordinateur.
Sur l’ordinateur qui
nous fait office d’administrateur à distance, il faut au préalable avoir
installé un logiciel client SSH tel que PuTTY par exemple :
Ensuite on procède à
quelques configurations de base sur le logiciel PuTTY, pour pouvoir se connecter
sur le Routeur via SSH, soit la version du protocole SSH à utiliser, dans notre
cas il s’agit de la version 1, puisque c’est celle qu’on a implémenté précédemment
lors de la configuration du routeur :
Puis le type de
connexion (SSH), le port (22 qui est le port du protocole SSH) et l’adresse IP
du Routeur (192.168.1.1), comme le montre la capture suivante :
Enfin nous cliquons sur
le bouton « Open » pour
démarrer une session SSH sur le Routeur :
Après avoir entré les
identifiants (le nom d’utilisateur et le mot de passe qui lui est associé)
adéquats pour ouvrir la session SSH, il nous faut également entrer le mot de
passe qui donne un accès en mode
« privilégié » au Routeur ;
Nous venons donc d’accéder
à distance sur notre Routeur via le protocole SSH.
A présent si l’on teste
la fiabilité du protocole SSH en termes de confidentialité et de sécurité face
à un sniffer de trafic réseau tel que Wireshark par exemple :
Nous nous rendons
compte que même si un Hacker vient à intercepter les informations circulant
entre le Routeur et nous, celles-ci ne lui seront d’aucune utilité parce
qu’elles sont cryptées et de ce fait indéchiffrables.
Il est également
possible de permettre au Routeur d’accepter les connexions distantes établies
via le protocole SSH et Telnet en même temps, pour cela il faut au moment de la
configuration des lignes virtuelles VTY, les indiquer qu’elles doivent prendre
en considération deux types de trafic entrant à savoir SSH et Telnet, et ceci
en complétant la commande « transport
input » par les mots clés « telnet »
et « ssh », comme le montre
la capture suivante :
Dorénavant vous savez
comment configurer un équipement réseau tel qu’un Routeur ou un Switch pour
qu’il soit accessible à distance et ceci via le protocole Telnet et ou SSH pour
une sécurité optimale, vous savez également à partir d’un ordinateur et ce
depuis votre domicile ou ailleurs comment accéder au Routeur ou au Switch
distant grâce à une interface d’invite de commande (CMD) ou un client de
connexion distant tel que PuTTY par exemple et surtout en connaissant l’adresse IP de l’équipement distant sur lequel
on souhaite se connecter.
Merci d’avoir suivi le tutoriel jusqu’à la fin.
A très bientôt !!!
Merci pour ces explications qui sont très techniques mais compréhensibles.
RépondreSupprimerQuel est l'outil utilisé pour faire la configuration du routeur?
RépondreSupprimerBonjour Syl, dans le tuto je configure directement le routeur via son terminal ou l'invite de commande. Comme outil on peut utiliser HyperTerminal.
SupprimerSalut Jacques, merci pour ce tuto. Ma question est de savoir si une fois connecté a distance via telnet au routeur(domicile), tout le traffic internet de mn pc(bureau) transitera par le routeur?
RépondreSupprimerBonjour Pierre, une fois connecté à distance à ton routeur le trafic internet de ton ordinateur ne transitera pas par le routeur, Telnet te permet juste ici d'utiliser ton ordinateur comme une sorte de moniteur à distance pour manager ton routeur. Je te conseille aussi de privilégier le protocole SSH qui est plus sécurisé pour des connexions aux équipements à distance.
RépondreSupprimermerci beaucoup pour le tuto mais je veux savoir s'il existe une commande qui permet de récupérer l'empreinte du serveur ssh.
RépondreSupprimerBonjour Feriel, la commande que tu recherches doit être celle-ci: ssh-keygen -l, mais je ne pense pas qu'elle puisse être appliqué sur un Routeur.
SupprimerMerci de votre réponse, oui j'ai déjà essayé cette commande sur unix mais j'ai pas trouvé de solution. Y-a-t il un code en python ou n'importe quelle programme ou solution qui peut me résoudre cette problème.
SupprimerJe vous remercie encore une fois.
Feriel, essaie de t'y prendre comme suit: tout d'abord entre la commande ls /etc/ssh/*key*.pub cette commande va t'afficher toutes les clés publiques de ton serveur SSH; tu vas obtenir par exemple: /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key.pub ensuite pour obtenir l'empreinte SSH d'une clé tu fais la commande ssh-keygen -l -f suivie de la clé, donc par exemple ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
SupprimerD'accord, je veux savoir s'il existe une possibilité de gérer l'empreinte à partir de la clé publique du routeur, en effet, après que j'ai géré la clé sous forme de PEM avec la commande :
Supprimercryptokeygeneratersa [general-keys|usage-keys|signature|encryption][labelkey-label] [exportable][modulusmodulus-size][storagedevicename:][ondevicename:]
4. cryptokeyexportrsa key-label pem {terminal|urlurl}{3des|des}passphrase
le contenu ressemble au structure de clé publique:
-----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFzMHJJikMbV77JfQv3wWOz+Hz
gZrtCIpHQgXZcdUh5RE+lRoAW/q4LqT6M6VFwrcuPDT6b3bnMT/gYsHZ92zc+xX4
mcTaiH8N0ndkfSGa1gAv8z3cMIy03guLaVkymrOia8LTEnZlbgM7LSgpZflaZ7/v
hQdAYrfV0A4xkH6/WQIDAQAB
-----END RSA PUBLIC KEY-----
lorsque je copie cette structure dans un fichier key.pub et j’exécute cette commande j'ai un erreur que ce fichier ne s'agit pas d'un clé publique.
Que je dois faire??
Bonjour Feriel, je crois avoir trouvé la solution à ton problème suit attentivement les étapes:
Supprimerune fois que t'a exporté ta clé au niveau du routeur avec par exemple la commande crypto key export rsa your_key pem terminal 3des passphrase
la clé obtenue aura la structure suivante
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3ktPtReMTpRKClAzINl
eeX5v ...
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,F6495543FBD6461D
WlL00zkVJkR2gajoppEKQjSeDK15BDahfqd41tmBHl88ezYNXOCNNuSX6/2W0AGj
gq...
-----END RSA PRIVATE KEY-----
copie entièrement le résultat (la clé publique et privée) et colle par exemple dans un fichier your_key.pem sous Linux. L'erreur que tu rencontres depuis est due au fait que tu essaies de récupérer l'empreinte d'une clé qui est au format .pem
or si tu examines la structure des clés publiques (.pub) qui se trouvent sous ton système Linux donnée avec la commande ls /etc/ssh/*key*.pub tu vas remarquer que leur structure est différente de ta clé (.pem) extraite du routeur, donc pour résoudre ton problème tu dois tout d'abord convertir ta clé .pem issue de ton routeur au format d'une clé .pub; Donc après avoir attribuer les droits appropriés (pour éviter une autre erreur) avec la commande chmod 400 your_key.pem, tu convertis ta clé avec la commande ssh-keygen -y -f your_key.pem > your_key.pub à la suite le système va te demander d'entrer le passphrase; ensuite le système génère alors ta clé your_key.pub; enfin tu peux donc utiliser la commande ssh-keygen -l -f your_key.pub pour obtenir l'empreinte.
En bref pour résumer, voici les étapes à suivre:
Supprimer1)- copie entierement le contenu du résultat de la clé publique (les parties RSA PUBLIC KEY et RSA PRIVATE KEY) de ton routeur;
2)- colle le contenu par exemple dans un fichier your_key.pem sous Linux ;
3)- attribues les droits à ton fichier avec la commande chmod 400 your_key.pem ;
4)- convertis la clé .pem au format .pub avec la commande ssh-keygen -y -f your_key.pem > your_key.pub;
5)- enfin, génère l'empreinte de ta clé avec la commande ssh-keygen -l -f your_key.pub
d'accord merci beaucoup j'ai déjà essayé ces étapes et ils sont bien marché.
RépondreSupprimerMais y-a-t il un code que je peut l'exécuté sous windows comme un code paython.
Merci encore une fois pour votre aide Monsieur
Bonjour, Alors ma question etais j'ai un client Radius est ce que je peux me connecte en SSH via radius sans s'authentifier à chaque fois ?
RépondreSupprimerje dois d'abord parcourir le texte pour bien comprendre puisque je suis étudiant de l'academia Cisco, et ceci est mon sujet de Travail si vous pouvez vraiment m'aider plus
RépondreSupprimerBonsoir!j'aimerais demander si c'est possible d'essayer le protocol ssh avec un routeur TP- link!!!car j'ai un switch TP-link
RépondreSupprimerBonjour Frinch,
Supprimerpeux-tu me dire quel modèle ou type de Switch TP-Link tu possède
Bonsoir Jacques.
RépondreSupprimerAu fait, moi j'ai 2 problèmes sur notre réseau :
Avant tout marché bien et je pouvais me connecter à distance au serveur qui heberge le site web sans problème mais depuis peux, nous avons changé de FAI et c'est là que commence tous les problèmes :
1-Problème 1 : A chaque fois que j'essai de me connecter à distance au serveur,j'ai ce message : using keyboard interface-authentification
Acess denied
2-Probleme 2(le plus embetant) : sur le réseau local,on arrive pas à acceder au serveur(site web) via son nom de domaine alors que partout dans le monde(exepté sur notre réseau local) si l'on tape le nom de domaine de notre site web,on a accèes sans probleme. une petite remarque à ce niveau: lorsque je tape l'addresse ip du serveur sur le réseau local,j'ai accées au site web mais impossible d'y avoir accèes à travers son nom de domaine.
quand je me suis renseignè, on me disait que c'etait le Routeur qui n'est pas bien configuré(la redirection NAT qui n'etait pas bien fait).
Merci d'avance en espérant que vous allez me donné un coup de main et merci pour l'article : c'est trés bien expliquée et très clair.
Bonsoir Jacques.
RépondreSupprimerAu moi j'ai 2 problèmes sur notre réseau :
Avant tout marché bien et je pouvais me connecter à distance au serveur qui heberge le site web sans problème mais depuis peux, nous avons changé de FAI et c'est là que commence tous les problèmes :
1-Problème 1 : A chaque fois que j'essai de me connecter à distance au serveur,j'ai ce message : using keyboard interface-authentification
Acess denied
2-Probleme 2(le plus embetant) : sur le réseau local,on arrive pas à acceder au serveur(site web) via son nom de domaine alors que partout dans le monde(exepté sur notre réseau local) si l'on tape le nom de domaine de notre site web,on a accèes sans probleme. une petite remarque à ce niveau: lorsque je tape l'addresse ip du serveur sur le réseau local,j'ai accées au site web mais impossible d'y avoir accèes à travers son nom de domaine.
quand je me suis renseignè, on me disait que c'etait le Routeur qui n'est pas bien configuré(la redirection NAT qui n'etait pas bien fait).
Merci d'avance en espérant que vous allez me donné un coup de main et merci pour l'article : c'est trés bien expliquée et très clair.
bonsoir jacques c'est vraiment claire votre tuto.mais Mais j'aimerai que vous m'expliquez le role et configuration du logiciel Putty.Merci d'avance
RépondreSupprimerBonjour Kimba,
SupprimerPuTTY est un logiciel qui permet d'administrer à distance ou prendre le contrôle de machines distantes via des protocoles comme : SSH, Telnet, Serial, et même via Rlogin. C'est un logiciel très léger qui ne nécessite pas souvent d'installation et qui s'avère très pratique.
bien expliqué je vous remercie
RépondreSupprimerexpérience complet et capable a adapte le développement de monde informatique
RépondreSupprimer