Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Transfert de fichiers à l’aide de Junos PyEZ

RÉSUMÉ Utilisez Junos PyEZ pour sécuriser les fichiers de copie (SCP) entre l’hôte local et un périphérique Junos.

Junos PyEZ fournit des utilitaires qui vous permettent d’effectuer des tâches de gestion de fichiers sur les équipements Junos. Vous pouvez utiliser la classe Junos PyEZ jnpr.junos.utils.scp.SCP pour sécuriser les fichiers de copie (SCP) entre l’hôte local et un périphérique Junos.

Les SCP open() méthodes et close() établissent et mettent fin à la connexion avec l’appareil. Par conséquent, si l’application cliente effectue uniquement des opérations de copie de fichiers, elle peut omettre les Device open() appels aux méthodes and close() . Les instances de la SCP classe peuvent être utilisées comme gestionnaires de contexte, qui appellent automatiquement les open() méthodes and close() . Par exemple :

SCP Permet de suivre la progression des transferts à l’aide du progress paramètre. Par défaut, SCP n’imprime pas les messages de progression. Permet progress=True d’imprimer les messages de progression par défaut à des intervalles de fin de transfert de 10 % ou plus.

Vous pouvez également définir une fonction personnalisée pour imprimer les messages de progression, puis définir le progress paramètre sur le nom de la fonction. La définition de la fonction doit inclure deux paramètres correspondant à l’instance de l’appareil et au message de progression. Par exemple :

L’exemple de programme suivant transfère les fichiers scp-test1.txt et scp-test2.txt de l’hôte local vers le répertoire /var/tmp de l’équipement cible, puis transfère le fichier journal des messages de l’équipement cible vers un répertoire de journaux sur l’hôte local. Le journal des messages est renommé pour ajouter le nom d’hôte de l’appareil au nom de fichier. L’exemple utilise des clés SSH, qui sont déjà configurées sur l’hôte local et l’appareil, pour l’authentification.

À des fins de comparaison, le programme utilise à la fois les messages de progression par défaut ainsi que des messages personnalisés, qui sont définis dans la fonction nommée log, pour suivre la progression des transferts.

La progression des transferts est envoyée à la sortie standard. La sortie par défaut (progress=True) inclut le nom de l’appareil, le fichier en cours de transfert et la progression du transfert en octets et en pourcentage.

Dans ce cas, la fonction personnalisée produit une sortie similaire.

Après avoir exécuté le programme, exécutez la file list commande sur l’appareil cible pour vérifier que les fichiers scp-test1.txt et scp-test2.txt ont été copiés dans le répertoire approprié.

Sur l’hôte local, le fichier journal des messages , qui est renommé pour inclure le nom d’hôte de l’appareil, doit être présent dans le répertoire des journaux .

Par défaut, Junos PyEZ interroge le fichier de configuration SSH par défaut à l’adresse ~/.ssh/config, s’il en existe un. Toutefois, vous pouvez spécifier un fichier de configuration SSH différent lorsque vous créez l’instance de périphérique en incluant le ssh_config paramètre dans la Device liste des arguments. Par exemple :

En outre, lorsque vous incluez le ssh_private_key_file paramètre dans la Device liste d’arguments pour définir un fichier de clé privée SSH spécifique pour l’authentification, l’instance utilise le même fichier de clé pour l’authentification lors du SCP transfert de fichiers.

La SCP classe fournit également la prise en charge de ProxyCommand, qui vous permet de transférer des fichiers de l’hôte local vers l’équipement cible via un hôte intermédiaire qui prend en charge netcat. Ceci est utile lorsque vous ne pouvez vous connecter à l’équipement cible que via l’hôte intermédiaire. Pour configurer ProxyCommand, ajoutez les informations appropriées au fichier de configuration SSH. Par exemple :