Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Netmiko für die Dateiübertragung in Python

So verwenden Sie Netmiko für die Dateiübertragung in Python

王林
王林nach vorne
2023-05-19 19:51:01931Durchsuche

    Das Übertragen von Konfigurationsdateien, Bilddateien usw. ist ein häufiger Vorgang bei der Netzwerkgeräteverwaltung. Netmiko ist eine Python-Bibliothek, die zur Interaktion mit verschiedenen Netzwerkgeräten verwendet werden kann. Sie bietet einige Funktionen zum Übertragen von Dateien, einschließlich SCP-Funktionen (Secure Copy Protocol).

    Einführung in Netmiko

    Netmiko ist eine erweiterte Python-Bibliothek für Paramiko, mit der verschiedene Netzwerkgeräte verbunden und verwaltet werden können. Mit Netmiko können Sie eine Verbindung zu einer Vielzahl von Netzwerkgeräten herstellen, z. B. Cisco, Juniper, Arista, HP usw. Die Netmiko-Bibliothek bietet mehrere Funktionen, um Vorgänge wie Verbindung, Befehlssendung, Dateiübertragung usw. bequemer und benutzerfreundlicher zu gestalten.

    So verwenden Sie Netmiko für die Dateiübertragung in Python

    SCP ist ein sicheres Dateiübertragungsprotokoll, das das SSH-Protokoll zum Übertragen von Dateien verwendet. Im Vergleich zu anderen Dateiübertragungsprotokollen wie FTP und TFTP verwendet SCP verschlüsselte Verbindungen, um eine höhere Sicherheit zu bieten. Obwohl SCP bei der Übertragung großer Dateien weniger effizient ist, ist es bei der Übertragung kleiner Dateien die ideale Wahl.

    Netmiko-Installation

    Bevor Sie Netmiko verwenden, müssen Sie es installieren. Netmiko kann mit pip installiert werden, verwenden Sie einfach den folgenden Befehl:

    pip install netmiko

    Verwenden Sie die SCP-Funktion von Netmiko, um Dateien zu übertragen

    Mit der SCP-Funktion in der Netmiko-Bibliothek können Sie Dateien vom lokalen Computer auf das Gerät und auch vom Gerät übertragen Gerät zum Gerät übertragen. Im Folgenden stellen wir vor, wie Sie die SCP-Funktion von Netmiko zum Übertragen von Dateien verwenden.

    Dateien vom Gerät auf den lokalen Computer übertragen

    Um Dateien vom Gerät auf den lokalen Computer zu übertragen, müssen Sie die Funktion file_transfer von Netmiko verwenden. Diese Funktion erfordert vier Parameter: Remote-Pfad, lokaler Pfad, Dateiname und Dateiübertragungsrichtung (vom Remote-Gerät zum lokalen Computer). Der Remote-Pfad und der lokale Pfad können relative Pfade oder absolute Pfade sein. Die Dateiübertragungsrichtung muss mit der Zeichenfolge get angegeben werden. Im Folgenden finden Sie einen Beispielcode zum Übertragen von Dateien mithilfe der Funktion file_transfer von Netmiko: file_transfer函数。该函数需要四个参数:远程路径、本地路径、文件名和文件传输方向(从远程设备到本地计算机)。其中远程路径和本地路径可以是相对路径或绝对路径。文件传输方向需要使用字符串get来指定。以下是使用Netmiko的file_transfer函数传输文件的示例代码:

    from netmiko import ConnectHandler
    
    device = {
        'device_type': 'cisco_ios',
        'ip': '192.168.1.1',
        'username': 'username',
        'password': 'password',
    }
    
    remote_path = 'flash:/config.txt'
    local_path = '/home/user/config.txt'
    file_name = 'config.txt'
    
    with ConnectHandler(**device) as ssh:
        ssh.file_transfer(
            remote_file=remote_path,
            local_file=local_path,
            file_system='flash:',
            direction='get'
        )

    在上面的示例代码中,我们首先定义了一个设备字典,然后使用ConnectHandler函数连接设备。在连接设备之后,我们使用file_transfer函数传输文件。remote_file参数指定了远程设备上的文件路径,local_file参数指定了本地计算机上的文件路径,file_system参数指定了文件所在的文件系统,direction参数指定了传输方向。运行上述代码,即可从设备传输文件到本地计算机。

    从本地计算机传输文件到设备

    从本地计算机传输文件到设备也需要使用Netmiko的file_transfer函数。该函数需要四个参数:远程路径、本地路径、文件名和文件传输方向(从本地计算机到远程设备)。其中远程路径和本地路径可以是相对路径或绝对路径。文件传输方向需要使用字符串put来指定。以下是使用Netmiko的file_transfer函数从本地计算机传输文件到设备的示例代码:

    from netmiko import ConnectHandler
    
    device = {
        'device_type': 'cisco_ios',
        'ip': '192.168.1.1',
        'username': 'username',
        'password': 'password',
    }
    
    remote_path = 'flash:/config.txt'
    local_path = '/home/user/config.txt'
    file_name = 'config.txt'
    
    with ConnectHandler(**device) as ssh:
        ssh.file_transfer(
            remote_file=remote_path,
            local_file=local_path,
            file_system='flash:',
            direction='put'
        )

    在上面的示例代码中,我们同样首先定义了一个设备字典,然后使用ConnectHandler函数连接设备。在连接设备之后,我们使用file_transfer函数传输文件。remote_file参数指定了远程设备上的文件路径,local_file参数指定了本地计算机上的文件路径,file_system参数指定了文件所在的文件系统,directionrrreee

    Im obigen Beispielcode definieren wir zunächst ein Gerätewörterbuch und stellen dann eine Verbindung mithilfe der Funktion ConnectHandler her Ausrüstung. Nach dem Anschließen des Geräts verwenden wir die Funktion file_transfer, um Dateien zu übertragen. Der Parameter remote_file gibt den Dateipfad auf dem Remote-Gerät an, der Parameter local_file gibt den Dateipfad auf dem lokalen Computer an und der Parameter file_system gibt an der Dateispeicherort, der Parameter direction gibt die Übertragungsrichtung an. Führen Sie den obigen Code aus, um Dateien vom Gerät auf Ihren lokalen Computer zu übertragen. 🎜🎜Dateien vom lokalen Computer auf das Gerät übertragen🎜🎜Um Dateien vom lokalen Computer auf das Gerät zu übertragen, müssen Sie auch die Funktion file_transfer von Netmiko verwenden. Diese Funktion erfordert vier Parameter: Remote-Pfad, lokaler Pfad, Dateiname und Dateiübertragungsrichtung (vom lokalen Computer zum Remote-Gerät). Der Remote-Pfad und der lokale Pfad können relative Pfade oder absolute Pfade sein. Die Dateiübertragungsrichtung muss mit der Zeichenfolge put angegeben werden. Das Folgende ist ein Beispielcode, der die file_transfer-Funktion von Netmiko verwendet, um Dateien von einem lokalen Computer auf ein Gerät zu übertragen: 🎜rrreee🎜Im obigen Beispielcode definieren wir außerdem zuerst ein Gerätewörterbuch und verwenden dann ConnectHandlerFunktion zum Verbinden des Geräts. Nach dem Anschließen des Geräts verwenden wir die Funktion file_transfer, um Dateien zu übertragen. Der Parameter remote_file gibt den Dateipfad auf dem Remote-Gerät an, der Parameter local_file gibt den Dateipfad auf dem lokalen Computer an und der Parameter file_system gibt an der Dateispeicherort, der Parameter direction gibt die Übertragungsrichtung an. Führen Sie den obigen Code aus, um Dateien von Ihrem lokalen Computer auf das Gerät zu übertragen. 🎜

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie Netmiko für die Dateiübertragung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen