Activez le SSH sur votre routeur/switch en 5 étapes

27

Par défaut, on ne peut pas faire de SSH vers un switch ou un routeur. Il faut au préalable configurer certains paramètres pour que ça fonctionne.

Le protocole SSH utilise une communication sécurisée pour éviter que des informations sensibles (configuration, login, mot de passe,…) soient interceptées durant leur transport jusqu’à la console d’administration.

Voici les différentes étapes pour configurer le SSH sur un IOS:

  1. Définir un compte utilisateur avec le doublet [login/mot de passe]
  2. Définir un hostname (par exemple MonRouteurAgence1) à son équipement switch ou routeur, qui sera utilisé pour générer la clé de chiffrement
  3. Définir un nom de domaine (par exemple cisco.com), qui sera aussi utilisé pour générer la clé de chiffrement
  4. Générer cette fameuse clé de chiffrement, appelée RSA
  5. Activer le SSH

Voici un Mind à télécharger:

Configuration

1. Définir un compte utilisateur avec le doublet (login/mot de passe)

router> enable
router# configure terminal
router(config)# username julien password pa$$word

Ici on définit un utilisateur nommé “julien” dont le mot de passe associé est “pa$$word

2. Définir un hostname à son équipement switch ou routeur, qui sera utilisé pour générer la clé de chiffrement

router(config)# hostname R1
R1(config)#

Cette commande permet de mettre un hostname particulier à votre équipement, ici “R1”. Ce hostname est par ailleurs utilisé pour générer la clé de chiffrement RSA, créée plus bas

3. Définir un nom de domaine, qui sera utilisé pour générer la clé de chiffrement

R1(config)# ip domain-name cisco.com

Cette commande permet de définir un nom de domaine (DNS – Domain Name Server) à votre routeur. Il s’appellera désormais “R1.cisco.com“, qui est tout simplement la concaténation du hostname “R1” avec le nom de domaine “cisco.com”.

Ce nom de domaine est aussi utilisé pour générer la clé de chiffrement RSA, créée juste à l’étape suivante.

4. Générer la clé de chiffrement

R1(config)# crypto key generate rsa modulus 1024

Cette commande génère une clé de chiffrement RSA utilisé par le processus SSH pour générer la clé de session. La variable “modulus 1024” définit la taille de votre clé. A titre d’information, pour une clé asymétrique, 1024 est une taille correcte.

5. Activer le SSH

R1(config)# line vty 0 4
R1(config-line)# transport input ssh
R1(config-line)# login local
R1(config-line)# exit

Pour accéder en telnet ou ssh à un équipement Cisco, il faut configurer les lignes “virtuelles” de l’équipement. En effet, quand je fais un telnet vers un routeur, je peux arriver de n’importe quelles interfaces actives du routeur.

Pour cela, on définit les lignes virtuelles appelées “vty”. Par défaut, il y a 5 lignes vty actives (de 0 à 4). D’où la commande “line vty 0 4“. Pourquoi 5? Parceque 🙂 Plus sérieusement, ça permet à 5 administrateurs d’être en SSH en même temps sur l’équipement.

La commande “transport input ssh” définit quel protocole a le droit d’utiliser ces lignes vty. Par défaut, tous les protocoles ont le droit dont telnet et ssh. Cette commande permet de restreindre en précisant que seul ssh a le droit d’utiliser les lignes vty.

La commande “login local” permet de préciser où se trouve la base des comptes utilisateur. Une fois connecté au routeur en ssh, le routeur va vous demander un login/password, celui qu’on a définit plus haut (julin/pa$$word). “login local” indique au routeur que la base des comptes utilisateur se trouve dans sa configuration (“local”).

Pour information, on peut définir une base de comptes utilisateur vers un serveur Radius par exemple.

Logiciel client SSH

Maintenant qu’on a configuré le serveur SSH sur notre routeur ou switch, il faut utiliser un client SSH sur notre console d’administration. Voici une liste non exhaustive de client SSH:

Exemple de configuration sous Packet Tracer

Router>
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
Router(config)#
Router(config)#username julien password pa$$word
Router(config)#
Router(config)#hostname R1
R1(config)#
R1(config)#ip domain-name cisco.com
R1(config)#
R1(config)#crypto key generate rsa modulus 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
R1(config)#
*mars 1 0:1:56.0:  %SSH-5-ENABLED: SSH 1.99 has been enabled
R1(config)#
R1(config)#line vty 0 4
R1(config-line)#transport input ssh
R1(config-line)#login local
R1(config-line)#exit
R1(config)#exit
R1#

La première ligne en rouge nous indique que le routeur a généré une clé de chiffrement de taille 1024 bits.

La seconde ligne en rouge nous précise que maintenant qu’une clé de chiffrement a été créée, le processus SSH est activé. Il nous reste plus qu’à le configurer sur les lignes virtuelles “vty”.

Aprés avoir configuré le ssh sur mon routeur, je me connecte en ssh à partir de mon PC:

 

On remarque ici que mon PC a l’adresse IP 10.1.1.222 et que mon routeur a l’adresse IP 10.1.1.1

La commande “ssh -l julien 10.1.1.1” permet de lancer une session ssh vers l’adresse IP 10.1.1.1 qui est mon routeur et avec le login “julien”. Une fois connecté en ssh à ce routeur, le process ssh va me demander le mot de passe associé à l’utilisateur “julien”. Je rentre alors “pa$$word” pour que l’authentification réussise.

On voit bien que j’ai alors accés à la console du routeur “R1>”.

27 COMMENTAIRES

  1. Bonjour professeur

    Tu n’as pas oublie de mettre la commande
    Enable password ou enable secret ?

    Pour acceder au mode privilege une fois la connexion en ssh initialise sur le pc ?

    Je regarde tt les jours rn ebook icdn 1 et ton blog 8)

  2. Merci pour cet article, ça va droit au but et quand on est comme moi où on tape pas tous les jours des commandes cisco, c’est très très pratique.
    Juste petite remarque, le S de DNS signifie Service et Non Server.

    Autre chose, penses-tu écrire un bouquin pour l’examen 200-101 ? Car je crois qu’il faut avoir les 2 pour que ça ait un réel sens si je ne dis pas de bêtises ?

    • Bonjour Anthony,
      Pour le “S” de DNS ca depend des documents, on peut trouver Server ou Service. Mais pour les puritains c’est bien Service 🙂
      Je suis en cours de redaction des fiches ICND2. Une fois terminées, elles seront disponibles sur le site. Donc fiches ICND1 + ICND2 couvriront l’ensemble du CCNA 200-120.

      • Ok cool, je serais probablement un acheteur, enfin, si j’ai le temps en plus de tout le boulot…!

        Par contre n’y aurait-il pas une petite coquille dans le schéma, dans l’étape 5.
        On peut lire “transport input local” au lieu de “transport input ssh” non ?

    • Bonjour Jean,
      Il faut juste taper la variable “no” devant la commande. Par exemple, si le compte “cyril” existe et que je souhaite l’enlever je tape: “no username cyril“.

  3. Peut on configurer sur les lignes 0 4 ssh et telnet en meme temps ? ou doit on faire d’autres lignes pour telnet du genre de 5 à 8.

    0 4 ssh
    5 8 telnet
    0 4 les 2 en mêmes temps

    Merci d’avance de ta réponse Cyril

  4. Petite rajoute, l’activation du protocole SSH de manière générale est effectuée par les étapes 2, 3 et 4, ce qui est également nécessaire si on souhaîte ouvrir une session SSH depuis un routeur/switch vers un autre équipement.

    • Exact, les étapes 2, 3 et 4 sont des pré-requis (donc obligatoires) pour que le protocole SSH soit actif sur votre routeur ou votre switch. Merci Steve!
      Et pour ceux qui ne le connaisse pas encore, je vous invite fortement à aller voir le site de Steve qui est une énorme source de connaissance:
      http://www.ciscomadesimple.be/

LAISSER UNE RÉPONSE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. .