python通过ssh配置交换机_配置(通过SSH)Cisco交换机的Python脚本
我的环境中有很多cisco交换机和路由器。我有三套凭证(其中只有一套适用于特定设备)。然后我在记事本上列出IP地址(子.txt). 以及另一个记事本上的配置(配置文件)在
目的是从配置文件通过SSH到IP列表列表。如果设备接受了命令,则应将日志放入成功.txt如果由于某种原因不接受该命令,则应附加一个日志失败.txt在
但这行不通。你能帮我修好吗?在import paramiko
import time
import sys
import logging
import socket
import pexpect
import traceback
from pexpect.popen_spawn import PopenSpawn
remote_conn_pre = paramiko.SSHClient()
remote_conn_pre.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ips = [i.strip() for i in open("sub.txt")]
user_local = "user1"
pass_local = "pass1"
user_aspac = "user2"
pass_aspac = "pass2"
user_batcca = "user3"
pass_batcca = "pass3"
g = open('config.txt', 'r+')
str = g.read()
g.close
success = open('success.txt', 'a')
fail = open('failed.txt', 'a')
paramiko.util.log_to_file("paramiko.log")
for ip in ips:
try:
remote_conn_pre.connect(ip, username=user_local, password=pass_local, timeout=4, look_for_keys=False, allow_agent=False)
#print ("SSH connection established to %s" + ip)
remote_conn = remote_conn_pre.invoke_shell()
print (ip + ' === local credential')
#remote_conn.send("show switch\n")
remote_conn.send((str))
time.sleep(2)
output = remote_conn.recv(5000)
print (output)
except paramiko.AuthenticationException:
try:
remote_conn_pre.connect(ip, username=user_aspac, password=pass_aspac, timeout=4, look_for_keys=False, allow_agent=False)
remote_conn1 = remote_conn_pre.invoke_shell()
print ip + ' === Global Credentials'
#output = remote_conn.recv(500)
#remote_conn.send("show switch")
#remote_conn.send("\n")
remote_conn1.send((str))
time.sleep(2)
output1 = remote_conn1.recv(5000)
print (output1)
except paramiko.AuthenticationException:
try:
#remote_conn_pre.connect(ip, username=user_batcca, password=pass_batcca, timeout=4, look_for_keys=False, allow_agent=False)
#remote_conn2 = remote_conn_pre.invoke_shell()
child = pexpect.popen_spawn.PopenSpawn('ssh ' + user_batcca + '@' + ip)
child.expect ('[pP]assword:')
child.sendline(pass_batcca)
print ip + ' === BATCCA Credential'
#output2 = remote_conn2.recv(5000)
for line in open('Config.txt').xreadlines():
child.sendline(line)
i = child.expect (['#', '^'])
if i==0:
success.write(ip + '\t' + line +'\n')
elif i==1:
fail.write(ip + '\t' + line +'\n')
time.sleep(5)
output2 = child.recv(5000)
print (output2)
except paramiko.AuthenticationException:
print ip + ' === Bad credentials'
remote_conn3 = remote_conn_pre.invoke_shell()
output3 = remote_conn3.recv(5000)
print (output3)
except paramiko.SSHException:
print ip + ' === Issues with ssh service'
except socket.error:
print ip + ' === Device unreachable'
python通过ssh配置交换机_配置(通过SSH)Cisco交换机的Python脚本相关推荐
- 华为交换机ssh思科交换机_配置华为交换机ssh方式登录
LAB2: 配置SSH登陆(Passworkd认证) 1.配置VTY界面的认证方式和协议 [HW_FW]user-interface vty 0 4 [HW_FW-ui-vty0-4]authenti ...
- 思科交换机配置试题_【干货】思科交换机路由器怎么配置密码?
今天带大家看看如何在思科的交换机路由器当中配置安全特性,也就是密码的配置方式. 在学习配置之前,我们先回顾一下密码相关知识. 密码学是研究信息系统安全保密的科学.人类有记载的通信密码始于公元前400年 ...
- servlet 配置 使用_配置HTTPS以与Servlet一起使用
servlet 配置 使用 要配置Java EE应用程序以通过HTTPS进行通信,需要在web.xml文件中使用几行XML. web.xml文件位于项目的WEB-INF目录中,通常在IDE生成Java ...
- apollo 配置中心_配置中心——Apollo小记
一.什么是配置 配置是程序运行时,动态调整行为的能力. 配置有以下属性: 配置是独立于程序的只读变量 同一份程序在不同的配置下才会有不同的行为,而且配置对于程序来说是只读的,所以程序可以通过读取配置来 ...
- python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...
最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...
- 初学python有几个阶段_零基础如何系统的学习Python 从7个阶段入手
目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Python开发. Python语言的应用 Pyt ...
- python基础教程价格范围_价值18980元的968集Python教程,在此透露给大家!速度来拿哇...
我是完全自学的,看完这条回答你就不用花钱学了.一千多的课程也就是基础课,并不会给你有多深入.如果要是学基础的话,看看下面的学习线路图以及相关的学习方法足够了.贴一个我之前自学的路径图和方法. 小白学P ...
- python 数组合并排重_并排深度学习:Julia vs Python
python 数组合并排重 Julia could possibly be the biggest threat to Python. For a variety of applications, J ...
- python难度大的题_早看少被坑!Python 最难的问题
超过十年以上,没有比解释器全局锁(GIL)让Python新手和专家更有挫折感或者更有好奇心. 未解决的问题 随处都是问题.难度大.耗时多肯定是其中一个问题.仅仅是尝试解决这个问题就会让人惊讶.之前是整 ...
最新文章
- UDP Socket基本思路小程序(2) 多线程简单聊天程序
- 科大讯飞的2018:深陷同传造假及炒房风波,市值遭腰斩蒸发600亿
- 使用百度UEditor
- 知方可补不足~数据库名称和数据库别名不同了怎么办
- 【UI/UX】桌面GUI设计
- 16 岁赚到 20 万美元,我的编程之路始于对代码的热爱
- IT人士|不可不知的10个行业内幕
- openwrt 遇到问题三 高通9531编译过程
- 深入理解MyBatis缓存
- Python的学习笔记案例4--52周存钱挑战2.0
- 【springboot短信收发】
- 方正璞华研发的社保股权管理系统初见成效
- 计算机连上wifi无法上网了,电脑已连接wifi但无法上网 已连接wifi但电脑无法上网-192路由网...
- android加法计算器代码,Android实现简单加法计算器
- opencv实现色彩还原(白平衡)
- 通过Swap函数交换两个变量的值
- Flutter应用架构之BloC模式实践
- 一套开源免费的OA办公管理系统源码,带小程序、生成APP
- 《数据结构》实验报告六:图的表示与遍历
- vm15 版本win mac 的unlocker 安装失败 unlocker不能使用