Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Établir une connexion SSH pour une session NETCONF

Comprendre les sessions NETCONF sur SSH

Vous pouvez utiliser le protocole SSH pour établir des connexions entre un serveur de gestion de la configuration (CMS) et un équipement Junos. Vous utilisez un serveur de gestion de la configuration pour gérer le périphérique Junos à distance.

Vous pouvez utiliser les options suivantes pour établir une connexion SSH entre le serveur de gestion de la configuration et le périphérique Junos.

  • SSH : le serveur de gestion de la configuration lance une session SSH avec le périphérique Junos.

  • SSH sortant : le périphérique Junos initie, établit et maintient une connexion SSH avec un ensemble prédéfini de serveurs de gestion de la configuration. Utilisez cette option lorsque le serveur de gestion de la configuration ne peut pas établir de connexion SSH en raison de restrictions réseau (telles qu’un pare-feu).

Note:

Junos OS inclut une implémentation personnalisée d’OpenSSH pour la gestion des périphériques. Les correctifs de sécurité sont rétroportés selon les besoins, indépendamment des numéros de version d’OpenSSH. La version affichée dans la sortie CLI (par exemple, show version) peut ne pas refléter tous les correctifs appliqués. Référez-vous toujours aux avis de sécurité de Juniper (JSA) pour obtenir des évaluations de l’impact des vulnérabilités.

Conditions préalables courantes pour les sessions NETCONF sur SSH ou SSH sortant

Pour les sessions NETCONF qui utilisent SSH ou SSH sortant, vous devez installer le logiciel SSH sur le serveur de gestion de la configuration et activer le service NETCONF sur le périphérique Junos. Reportez-vous aux sections suivantes pour obtenir des instructions détaillées :

Installer le logiciel SSH sur le serveur de gestion de la configuration

Pour les connexions SSH, le serveur de gestion de la configuration (CMS) gère la connexion SSH avec le périphérique Junos. Pour les connexions SSH sortantes, le périphérique Junos établit la connexion SSH au serveur de gestion de la configuration, puis le serveur de gestion de la configuration prend le contrôle de la session SSH.

Pour établir une connexion SSH ou SSH sortante avec un périphérique, le logiciel SSH doit être installé localement sur le serveur de gestion de la configuration. Pour plus d’informations sur l’obtention et l’installation du logiciel SSH, voir :

Activer le service NETCONF sur SSH

Pour établir des sessions NETCONF sur un équipement Junos, vous devez activer le service NETCONF. Vous pouvez configurer le serveur NETCONF pour qu’il accepte les sessions NETCONF sur les ports suivants :

  • Port NETCONF par défaut (830) ou port défini par l’utilisateur

  • Port SSH par défaut (22)

Nous vous recommandons d’utiliser le port NETCONF par défaut, car il permet à l’appareil d’identifier et de filtrer plus efficacement le trafic NETCONF. Vous pouvez également configurer l’appareil pour qu’il accepte les sessions NETCONF sur le numéro de port de votre choix au lieu du port NETCONF par défaut. Le port défini n’accepte que les sessions NETCONF-over-SSH et rejette les requêtes de session SSH normales.

Si vous activez NETCONF et que vous activez également les services SSH sur l’appareil, celui-ci accepte les sessions NETCONF à la fois sur le port SSH par défaut et sur le port NETCONF configuré (port par défaut ou port défini par l’utilisateur). Pour plus de sécurité, vous pouvez configurer des stratégies d’événements qui utilisent UI_LOGIN_EVENT les informations pour empêcher efficacement le port SSH d’accepter des sessions NETCONF ou pour restreindre davantage l’accès du serveur NETCONF sur un port.

Pour activer le service NETCONF via SSH sur un équipement Junos :

  1. Activez le service NETCONF sur le port NETCONF par défaut (830) ou sur un port défini par l’utilisateur :

    • Pour utiliser le port NETCONF par défaut (830), incluez l’instruction au netconf ssh niveau de la [edit system services] hiérarchie :

    • Pour utiliser un port spécifique, configurez l’instruction port avec le numéro de port au niveau de la [edit system services netconf ssh] hiérarchie.

      La port-number boîte va de 1 à 65535. Le port configuré n’accepte que les sessions NETCONF-over-SSH et rejette les demandes de session SSH normales.

      Note:

      Bien que vous puissiez configurer NETCONF sur n’importe quel port compris entre 1 et 65535, vous ne devez pas configurer l’accès sur un port normalement affecté à un autre service. Cette pratique permet d’éviter les conflits de ressources potentiels. Si vous configurez un port attribué à un autre service, tel que FTP, et que ce service est activé, un ne révèle pas de conflit de ressources et n’émet commit check aucun message d’avertissement.

  2. (Facultatif) Pour permettre également l’accès au sous-système SSH NETCONF à l’aide du port SSH par défaut (22), incluez l’instruction ssh au niveau de la [edit system services] hiérarchie.

    Cette configuration permet à tous les utilisateurs et applications d’accéder SSH à l’appareil.

    Note:

    Dans les versions dont le comportement par défaut est d’empêcher l’utilisateur root d’utiliser le service SSH, vous devez configurer l’instruction root-login allow au niveau de la [edit system services ssh] hiérarchie pour permettre à l’utilisateur root d’ouvrir des sessions NETCONF via SSH.

  3. (Facultatif) Configurez l’appareil pour qu’il déconnecte les clients NETCONF qui ne répondent pas.

    Spécifiez l’intervalle de délai d’attente (en secondes) après lequel, si aucune donnée n’a été reçue du client, le processus sshd demande une réponse. En outre, spécifiez le seuil de réponses client-alive manquées qui déclenche une déconnexion.

    Note:

    Les instructions configurées au niveau de la [edit system services netconf ssh] hiérarchie s’appliquent uniquement aux sessions NETCONF qui se connectent via le port par défaut (830) ou via le port défini par l’utilisateur configuré au même niveau hiérarchique.

  4. Validez la configuration :

  5. Répétez les étapes précédentes sur chaque équipement Junos sur lequel l’application cliente établit des sessions NETCONF.

Conditions préalables à l’établissement d’une connexion SSH pour les sessions NETCONF

Avant que le serveur de gestion de la configuration puisse établir une connexion SSH avec un périphérique Junos, vous devez satisfaire aux exigences communes décrites dans :

Vous devez également satisfaire aux exigences décrites dans les sections suivantes :

Configurer un compte d’utilisateur pour l’application cliente sur les équipements Junos

Le serveur de gestion de la configuration doit se connecter à l’équipement Junos pour établir une session NETCONF. Ainsi, le serveur de gestion de la configuration a besoin d’un compte utilisateur sur chaque périphérique sur lequel il établit une session NETCONF. Les instructions suivantes expliquent comment créer un compte d’utilisateur local sur les équipements Junos. Vous pouvez également ignorer cette section et activer l’authentification via RADIUS ou TACACS+.

Pour créer un compte d’utilisateur local :

  1. Configurez l’instruction user et spécifiez un nom d’utilisateur. Incluez l’instruction class et spécifiez une classe de connexion disposant des autorisations requises pour toutes les actions à effectuer par l’application.
  2. Vous pouvez également inclure les full-name instructions et uid au niveau de la [edit system login user username] hiérarchie.
  3. Validez la configuration pour activer le compte d’utilisateur sur l’appareil.
  4. Répétez les étapes précédentes sur chaque équipement Junos sur lequel l’application cliente établit des sessions NETCONF.

Configurer une paire de clés publique/privée ou un mot de passe pour le compte d’utilisateur Junos OS

Pour s’authentifier auprès du serveur NETCONF, le serveur de gestion de la configuration a besoin d’une paire de clés publique/privée SSH, d’un mot de passe textuel ou des deux. Une paire de clés est suffisante si le compte est utilisé uniquement pour se connecter au serveur NETCONF via SSH. Si le compte est également utilisé pour accéder à l’appareil d’une autre manière (pour se connecter à la console, par exemple), il doit disposer d’un mot de passe textuel. Le mot de passe est également utilisé (le serveur SSH le demande) si l’authentification par clé est configurée mais échoue.

Note:

Vous pouvez ignorer cette section si vous avez choisi d’activer l’authentification via RADIUS ou TACACS+.

Pour créer un mot de passe textuel :

  1. Incluez l’instruction plain-text-password ou encrypted-password au niveau de la [edit system login user username authentication] hiérarchie.

    Pour saisir un mot de passe sous forme de texte, exécutez la commande suivante. Vous êtes invité à saisir le mot de passe, que l’appareil chiffre avant de le stocker.

    Pour entrer un mot de passe que vous avez préalablement créé et haché à l’aide de MD5 ou SHA-1, exécutez la commande suivante :

  2. Validez la configuration.
  3. Répétez les étapes précédentes sur chaque périphérique sur lequel l’application cliente établit des sessions NETCONF.

Pour créer une paire de clés publique/privée SSH, effectuez les opérations suivantes :

  1. Sur le serveur de gestion de la configuration sur lequel s’exécute l’application cliente, exécutez la ssh-keygen commande dans l’interpréteur de commandes standard et fournissez les arguments appropriés.

    Par exemple:

    Pour plus d’informations sur ssh-keygen les options, reportez-vous à la page de manuel de la ssh-keygen commande.

  2. Associez la clé publique au compte de connexion Junos OS.

    Junos OS copie le contenu du fichier spécifié sur le périphérique. URL est le chemin d’accès au fichier contenant une ou plusieurs clés publiques. Par défaut, la ssh-keygen commande stocke chaque clé publique dans un fichier situé dans le sous-répertoire .ssh du répertoire personnel de l’utilisateur ; le nom du fichier dépend de l’encodage et de la version SSH. Pour plus d’informations sur la spécification des URL, reportez-vous au Guide de l’utilisateur de l’interface de ligne de commande.

    Note:

    Vous pouvez également inclure l’instruction ssh-rsa au niveau de la [edit system login user account-name authentication] hiérarchie. Nous vous recommandons toutefois d’utiliser l’instruction load-key-file , car elle élimine le besoin de taper ou de copier-coller la clé publique sur la ligne de commande.

  3. Validez la configuration.

  4. Répétez les étapes 2 et 3 sur chaque équipement Junos sur lequel l’application cliente établit des sessions NETCONF.

Accéder aux clés ou au mot de passe avec l’application cliente

L’application cliente doit être en mesure d’accéder à la paire de clés ou au mot de passe configuré et de le fournir lorsque le serveur NETCONF le demande.

Il existe plusieurs méthodes pour permettre à l’application d’accéder à la clé ou au mot de passe :

  • Si des clés publiques/privées sont utilisées, le programme ssh-agent s’exécute sur l’appareil sur lequel s’exécute l’application cliente et gère la clé privée.

  • Lorsqu’un utilisateur démarre l’application, celle-ci lui demande le mot de passe et le stocke temporairement de manière sécurisée.

  • Le mot de passe est stocké sous forme cryptée dans un emplacement de disque local sécurisé ou dans une base de données sécurisée.

Conditions préalables à l’établissement d’une connexion SSH sortante pour les sessions NETCONF

Pour permettre à un serveur de gestion de la configuration d’établir une connexion SSH sortante vers le serveur NETCONF, vous devez satisfaire aux exigences communes décrites dans :

Vous devez également satisfaire aux exigences décrites dans les sections suivantes :

Configurer l’équipement Junos pour le SSH sortant

Pour configurer l’équipement Junos pour le SSH sortant :

  1. Au niveau de la [edit system services ssh] hiérarchie, définissez le SSH protocol-version sur v2 :
  2. Générez ou obtenez une paire de clés publique/privée pour l’équipement Junos. Cette paire de clés est utilisée pour chiffrer les données transférées via la connexion SSH.
  3. Si vous installez manuellement la clé publique sur le serveur de gestion de la configuration, transférez-la vers le CMS.
  4. Au niveau de la [edit system services] hiérarchie, incluez la hiérarchie de outbound-ssh configuration et toutes les instructions requises.

    Pour plus d’informations sur chacune des options, consultez outbound-ssh.

  5. Validez la configuration :

Réception et gestion de la séquence d’initiation SSH sortante sur le client

Lorsque vous configurez un équipement Junos pour le SSH sortant, le périphérique tente de maintenir une connexion constante avec un serveur de gestion de la configuration. Lorsqu’une session SSH sortante n’est pas établie, l’appareil envoie une séquence d’initiation SSH sortante à un serveur de gestion de la configuration répertorié dans la liste des serveurs de gestion de la configuration de l’appareil. Avant d’établir une connexion avec l’appareil, chaque serveur de gestion de la configuration doit être configuré pour recevoir cette séquence d’initiation, établir une connexion TCP avec l’appareil et transmettre l’identité de l’appareil à l’appareil.

La séquence d'initiation prend l'une des deux formes suivantes, selon la façon dont vous avez choisi de gérer la clé publique du serveur Junos OS.

Si la clé publique est installée manuellement sur le serveur de gestion de la configuration, la séquence de lancement prend la forme suivante :

Si l’équipement transmet la clé publique au serveur de gestion de la configuration au cours de la séquence d’initialisation, celle-ci prend la forme suivante :

Tableau de l’historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Libérer
Description
15.1
À partir de la version 15.1 de Junos OS, Junos OS prend en charge les connexions SSH sortantes avec les périphériques dotés d’adresses IPv6.