批量登录不同网段的交换机
(因实验暂不符合不同网段,此次即相同网段)
1、批量配置好五台交换机的 IP 和 ssh
2、VM虚拟机新建一个 txt 文件,把需要登录的交换机的管理 IP 地址全部写入txt文件
3、运行代码前,确认它们都没有开启EIGRP:show run | s router eigrp
4、VM虚拟机新建一个 py 文件,写入以下代码
import paramiko
import time
from getpass import getpass
username = input('Username: ')
password = getpass('password: ')
f = open("ssh-ip-list.txt","r")
for line in f.readlines():
ip = line.strip()
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip, username=username, password=password,allow_agent=False,look_for_keys=False)
print ("Successfully connect to ", ip)
remote_connection =ssh_client.invoke_shell()
remote_connection.send("conf t\n")
remote_connection.send("router eigrp 1\n")
remote_connection.send("end\n")
remote_connection.send("wr mem\n")
time.sleep(1)
output = remote_connection.recv(65535)
print (output.decode("ascii"))
f.close()
ssh_client.close
5、此 py 文件的代码自动登录每个交换机开启EIGRP并保存配置。
6、交换机验证:show run | s router eigrp
回馈结果:router eigrp 1
至此(完)
———————————————————————————————————
解:
gatpass 模块:用户输入字符串但不显示,似于输入密码不回显。