18. Connection to network devices#
This section discusses how to connect to network devices via:
SSH
Telnet
Python has several modules that allow you to connect to network devices and execute commands:
pexpect
- an implementation ofexpect
in Pythonthis module allows working with any interactive session: ssh, telnet, sftp, etc.
in addition, it makes possible to execute different commands in OS (this can also be done with other modules)
while pexpect may be less user-friendly than other modules, it implements a more general functionality and allows it to be used in situations where other modules do not work
telnetlib
- this module allows you connecting via Telnetnetmiko
version >= 1.0 also has Telnet support, so ifnetmiko
supports the network devices you use, it is more convenient to use it
paramiko
- his module allows you connecting via SSHv2it is more convenient to use than
pexpect
but with narrower functionality (only supports SSH)
netmiko
- module that simplifies the use of paramiko for network devicesnetmiko
is a “wrapper” which is oriented to work with network devices
scrapli
- is a module that allows you to connect to network equipment using Telnet, SSH or NETCONF
This section covers all five modules and describes how to connect to several devices in parallel. Three routers are used in section examples. There are no requirements for them, only configured SSHv2 and Telnet.
Parameters used in these section:
user: cisco
password: cisco
password for enable mode: cisco
SSH version 2, Telnet
IP addresses: 192.168.100.1, 192.168.100.2, 192.168.100.3