Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Établissement d’une connexion SSH pour une session NETCONF

Établissement d’une connexion SSH pour une session NETCONF

Vous pouvez utiliser le protocole SSH pour établir des connexions entre un serveur de gestion de la configuration et un équipement Junos. Vous utilisez un serveur de gestion de la configuration pour configurer 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 : 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). Dans ce cas, vous configurez le périphérique Junos pour qu’il initie, établisse et maintienne une connexion SSH avec un ensemble prédéfini de serveurs de gestion de la configuration.

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

Avant que le serveur de gestion de la configuration n’établisse une connexion SSH avec un périphérique Junos, vous devez satisfaire aux exigences décrites dans les sections suivantes.

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

Le serveur de gestion de la configuration gère la connexion SSH avec le périphérique Junos. Par conséquent, 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, reportez-vous à http://www.ssh.com et http://www.openssh.com.

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 facilement le trafic NETCONF. Vous pouvez également configurer le périphérique pour qu’il accepte les sessions NETCONF sur un port spécifique au lieu du port NETCONF par défaut. Le port défini n’accepte que les sessions NETCONF-over-SSH et rejette les demandes de session SSH normales. Si vous activez également les services SSH sur le serveur, l’appareil accepte les sessions NETCONF à la fois sur le port SSH par défaut et sur le port NETCONF configuré (port par défaut ou 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 désactiver efficacement le port par défaut ou restreindre davantage l’accès du serveur NETCONF sur un port.

Pour activer le service NETCONF sur 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 netconf ssh au niveau de la [edit system services] hiérarchie :

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

      La port-number boîte peut aller 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 les sessions NETCONF-over-SSH puissent être configurées sur n’importe quel port compris entre 1 et 65535, vous devez éviter de configurer l’accès sur un port normalement attribué à un autre service. Cette pratique permet d’éviter les conflits de ressources potentiels. Si vous configurez un port affecté à un autre service, tel que FTP, et que ce service est activé, a ne révèle pas de conflit de commit check ressources et n’émet aucun message d’avertissement à cet effet.

  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 où le comportement par défaut est d’empêcher l’utilisateur racine d’utiliser le service SSH, vous devez configurer l’instruction au niveau de la [edit system services ssh] hiérarchie pour permettre à l’utilisateur racine d’ouvrir root-login allow 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’expiration (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 exécutant Junos OS sur lequel l’application cliente établit des sessions NETCONF.

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 d’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 au niveau de la [edit system login] hiérarchie et spécifiez un nom d’utilisateur. Incluez l’instruction et spécifiez une classe de connexion qui dispose des autorisations requises pour toutes les actions à effectuer par l’application class .
  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 exécutant Junos OS sur lequel l’application cliente établit des sessions NETCONF.

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

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 avant de pouvoir s’authentifier auprès du serveur NETCONF. Une paire de clés publique/privée 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 avoir 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 entrer un mot de passe sous forme de texte, exécutez la commande suivante. Vous êtes invité à saisir le mot de passe, qui est crypté avant d’être stocké.

    Pour stocker un mot de passe que vous avez précédemment créé et haché à l’aide de Message Digest 5 (MD5) ou de l’algorithme de hachage sécurisé 1 (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.

    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 exécutant Junos OS. URL est le chemin d’accès au fichier contenant une ou plusieurs clés publiques. Par défaut, la 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 ssh-keygen version SSH. Pour plus d’informations sur la spécification d’URL, consultez le 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. Toutefois, nous vous recommandons d’utiliser cette load-key-file instruction, 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 périphérique 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 aux clés publiques/privées ou au mot de passe configurés et de les fournir lorsque le serveur NETCONF vous 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 l’application cliente s’exécute 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 au serveur NETCONF, vous devez satisfaire aux exigences décrites dans les sections suivantes :

Installer le logiciel SSH sur le client

Une fois que l’appareil a établi la connexion SSH au serveur de gestion de la configuration, le serveur de gestion de la configuration prend le contrôle de la session SSH. Par conséquent, le logiciel client 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, reportez-vous aux sections http://www.ssh.com/ et http://www.openssh.com/ .

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 facilement le trafic NETCONF. Vous pouvez également configurer le périphérique pour qu’il accepte les sessions NETCONF sur un port spécifique au lieu du port NETCONF par défaut. Le port défini n’accepte que les sessions NETCONF-over-SSH et rejette les demandes de session SSH normales. Si vous activez également les services SSH sur le serveur, l’appareil accepte les sessions NETCONF à la fois sur le port SSH par défaut et sur le port NETCONF configuré (port par défaut ou 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 désactiver efficacement le port par défaut ou restreindre davantage l’accès du serveur NETCONF sur un port.

Pour activer le service NETCONF sur 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 netconf ssh au niveau de la [edit system services] hiérarchie :

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

      La port-number boîte peut aller 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 les sessions NETCONF-over-SSH puissent être configurées sur n’importe quel port compris entre 1 et 65535, vous devez éviter de configurer l’accès sur un port normalement attribué à un autre service. Cette pratique permet d’éviter les conflits de ressources potentiels. Si vous configurez un port affecté à un autre service, tel que FTP, et que ce service est activé, a ne révèle pas de conflit de commit check ressources et n’émet aucun message d’avertissement à cet effet.

  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 où le comportement par défaut est d’empêcher l’utilisateur racine d’utiliser le service SSH, vous devez configurer l’instruction au niveau de la [edit system services ssh] hiérarchie pour permettre à l’utilisateur racine d’ouvrir root-login allow 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’expiration (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 exécutant Junos OS sur lequel l’application cliente établit des sessions NETCONF.

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 le périphérique exécutant Junos OS. Cette paire de clés sera 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 sur le serveur de gestion de la configuration.
  4. Au niveau de la hiérarchie, incluez la hiérarchie de [edit system services] outbound-ssh configuration et toutes les instructions requises.

    Les options sont les suivantes :

    address

    (Obligatoire) Nom d’hôte ou adresse IPv4 ou IPv6 du serveur d’administration. Vous pouvez répertorier plusieurs clients en ajoutant l'adresse IP ou le nom d'hôte de chaque client ainsi que les paramètres de connexion suivants.

    • port port-number: port SSH sortant pour le client. La valeur par défaut est le port 22.

    • retry number– Nombre de fois que l’appareil tente d’établir une connexion SSH sortante. La valeur par défaut est de trois essais.

    • timeout seconds—durée, en secondes, pendant laquelle le périphérique exécutant Junos OS tente d’établir une connexion SSH sortante. La valeur par défaut est de 15 secondes par tentative.

      Note:

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

    client client-id

    (Obligatoire) Identifie la strophe de outbound-ssh configuration sur l’appareil. Chaque outbound-ssh strophe représente une seule connexion SSH sortante. Cet attribut n’est pas envoyé au client.

    device-id device-id

    (Obligatoire) Identifie le périphérique exécutant Junos OS pour le client pendant la séquence d’initialisation.

    keep-alive

    (Facultatif) Spécifiez que l’appareil doit envoyer des messages persistants au serveur d’administration. Pour configurer le message keepalive, vous devez définir à la fois les timeout attributs et retry . Pour configurer le message keepalive, vous devez configurer à la fois les timeout instructions and retry .

    • retry number: nombre de messages persistants que l’appareil envoie sans recevoir de réponse du serveur d’administration avant l’arrêt de la connexion SSH actuelle. La valeur par défaut est de trois essais.

    • timeout seconds: durée, en secondes, pendant laquelle le serveur attend les données avant d’envoyer un signal keepalive. La valeur par défaut est de 15 secondes.

    reconnect-strategy (sticky | in-order)

    (Facultatif) Spécifiez la méthode utilisée par le périphérique exécutant Junos OS pour rétablir une connexion SSH sortante déconnectée. Deux méthodes sont disponibles :

    • in-order: spécifiez que le routeur ou le commutateur tente d’abord d’établir une session SSH sortante en fonction de la liste d’adresses du serveur d’administration. Le routeur ou le commutateur tente d’établir une session avec le premier serveur de la liste. Si cette connexion n’est pas disponible, le routeur ou le commutateur tente d’établir une session avec le serveur suivant, puis ainsi de suite jusqu’à ce qu’une connexion soit établie.

    • sticky: spécifiez que le routeur ou le commutateur tente d’abord de se reconnecter au serveur d’administration auquel il a été connecté pour la dernière fois. Si la connexion n’est pas disponible, il tente d’établir une connexion avec le client suivant sur la liste et ainsi de suite jusqu’à ce qu’une connexion soit établie.

    secret password

    (Facultatif) Clé d’hôte SSH publique de l’appareil. S’il est ajouté à l’instruction outbound-ssh , lors de l’initialisation du service SSH sortant, le routeur ou le commutateur transmet sa clé publique au serveur d’administration. Il s’agit de la méthode recommandée pour conserver une copie à jour de la clé publique de l’appareil.

    services netconf

    (Obligatoire) Spécifie les services disponibles pour la session. Actuellement, NETCONF est le seul service disponible.

  5. Validez la configuration :

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

Lorsqu’il est configuré pour le SSH sortant, le périphérique Junos 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’équipement, chaque serveur de gestion de la configuration doit être configuré pour recevoir cette séquence d’initiation, établir une connexion TCP avec l’équipement et transmettre l’identité de l’équipement à 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 d’initiation se présente comme suit :

Si la clé publique est transmise au serveur de gestion de la configuration par l’appareil 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 plate-forme 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ération
Description
15.1
À partir de Junos OS version 15.1, Junos OS prend en charge les connexions SSH sortantes avec des périphériques dotés d’adresses IPv6.