Source : http://www.cisco.com/en/US/tech/tk583/tk617/technologies_tech_note09186a00800949e2.shtml
N’étant pas un fan absolu de la circulation en clair de mes mots de passes, je préfère que les connexions entre moi et mes machines soient un minimum chiffrées. Il n’ait pas besoin de préciser que je n’apprécie que moyennement de me connecter à mon routeur Cisco en Telnet. Il est cependant possible de mettre en place sur le routeur, selon l’IOS installé, un serveur SSH. L’aide mémoire qui suit est une compilation et une traduction (depuis les pages officiels Cisco) des informations utiles afin de mettre en place et de maintenir l’accès aux routeurs Cisco par terminal via SSH.
[toc title= »Table des matières » hint= »hover hint »
class= »extra CSS class » style= »width: 50% »]
Prérequis
L’image IOS CISCO doit être une k9 (crypto), qui supporte le SSH. Par exemple, l’image IOS c870-advsecurityk9-mz.124-4.T7.binest une image k9 (crypto).
Authentification avec SSH
Les commandes nécessaires afin de configurer la partie serveur SSH sur un IOS Cisco sont :
!--- Step 1: Configurer le nom du routeur, si ce n’est pas déjà fait. hostname Burt !--- La commande aaa new-model implique la demande d’un utilisateur local et d’un mot de passe sur le routeur !--- pour être utilisé en l'absence d'autres déclarations AAA. aaa new-model username cisco password 0 cisco !--- Step 2: Configurer le domaine DNS du routeur. ip domain-name rtp.cisco.com !--- Step 3: Générer la clé publique SSH. crypto key generate rsa ip ssh time-out 60 ip ssh authentication-retries 2 !--- Step 4: Par défaut, le transport VTY est Telnet. Dans ce cas, Telnet est désactivé et seul SSH est supporté (Optionnel). line vty 0 4 transport input SSH !--- A la place de aaa new-model, vous pouvez utiliser la commande login local.
La commande show crypto key mypubkey rsa permet d’afficher la clé publique générée.
Paramètres de configuration optionnels
Interdire les connexions non-SSH
Si vous souhaitez interdire les connexions non-SSH, ajoutez la commande transport input ssh sous la configuration des lignes. Ainsi, les connexions telnet seront refusées.
line vty 0 4
!--- Interdit les connexions Telnet, non SSH.
transport input ssh
Restreindre les accès SSH à un sous réseau
Si vous souhaitez limiter les connexions SSH à un sous réseau spécifique, et toutes les autres tentatives provenant d’adresses IP extérieures doivent être jetées, il est nécessaire d’effectuer les étapes suivantes :
– Définir une access-list qui permettra le trafic du sous réseau spécifié ;
– Restreindre les accès à l’interface VTY avec un access-class.
Dans l’exemple suivant, seuls les accès SSH depuis le sous réseau 10.10.10.0 255.255.255.0 sont autorisés.
Router(config)#access-list 23 permit 10.10.10.0 0.0.0.255 Router(config)#line vty 5 15 Router(config-line)#transport input ssh Router(config-line)#access-class 23 inRouter(config-line)#exit
Configurer la version SSH
Configurer SSH v1 :
Router(config)# ip ssh version 1
Configuer SSH v2 :
Router(config)# ip ssh version 2
Configurer SSH v1 et v2 :
Router(config)#no ip ssh version
Variations de sortie de la commande banner
La sortie de la commande banner varie entre les connexions Telnet et les différentes versions de SSH. Le tableau suivant illustre comment les différentes bannières s’affichent en fonction du protocole utilisé.
Banner Command Option | Telnet | SSH v1 only | SSH v1 and v2 | SSH v2 only |
banner login | Affiché avant le login. | Pas affiché | Affiché avant le login. | Affiché avant le login. |
banner motd | Affiché après le login. | Affiché après le login. | Affiché après le login. | Affiché après le login. |
banner exec | Affiché après le login. | Affiché après le login. | Affiché après le login. | Affiché après le login. |
Commandes debug et show
Ci-après quelques commandes show et debug qui peuvent s’avérer utiles.
- Debug ip ssh : Affiche les messages de debug pour SSH.
- Show ssh : Affiche le status des connexions du serveur SSH.
Router#show ssh
Connection Version Encryption State Username
0 1.5 DES Session started cisco
- Show ip ssh : Affiche la version et les données de configuration SSH.
o SSH version 1
Router#show ip ssh
SSH Enabled - version 1.5
Authentication timeout: 60 secs; Authentication retries: 2
o SSH Version 2
Router#show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3
o SSH Versions 1 et 2
Router#show ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3
Résolution des problèmes
- Si la commande de configuration SSH est rejetée comme « illegal command », c’est que la paire de clé RSA ne s’est pas correctement générée. Assurez-vous que vous avez spécifié un nom d’hôte (hostname) et un domaine. Puis utilisez la commande crypto key generate rsa afin de générer la paire de clés RSA et activer le serveur SSH sur le routeur.
- Lorsque vous configurez la paire de clé RSA, vous pouvez rencontrer les erreurs suivantes :
No hostname specified
Vous devez spécifier un nom d’hôte : hostname Router
No domain specified
Vous devez configurer un nom de domaine : ip domain-name