Python 执行Juniper echos命令的Paramiko
当使用Paramiko从Juniper获取o/p时,输出首先显示命令,然后执行命令。下面是代码和输出Python 执行Juniper echos命令的Paramiko,python,ssh,paramiko,juniper,juniper-network-connect,Python,Ssh,Paramiko,Juniper,Juniper Network Connect,当使用Paramiko从Juniper获取o/p时,输出首先显示命令,然后执行命令。下面是代码和输出 import paramiko import getpass password = getpass.getpass() with open('ips.txt','r') as f: ip = f.read().splitlines() for device in ip: ssh_client = paramiko.SSHClient() ssh_client.
import paramiko
import getpass
password = getpass.getpass()
with open('ips.txt','r') as f:
ip = f.read().splitlines()
for device in ip:
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(device, port=22, username='test', password=password, look_for_keys=False, allow_agent=False)
remote_connection = ssh_client.invoke_shell()
remote_connection.send('set cli screen-length 500\n')
remote_connection.send('ping 4.2.2.2 rapid\n')
import time
time.sleep(3)
output = remote_connection.recv(4096)
print(output.decode())
with open('Backup.txt', 'a+') as f:
f.write(output)
f.write("\n********************\n")
ssh_client.close()
产出如下:
密码:
---朱诺斯XXX建造XXX
设置cli屏幕长度500 ping 4.2.2.2 rapid
PING 4.2.2.2(4.2.2.2):56个数据字节
!!!!!
---4.2.2.2平统计---
发送5个数据包,接收5个数据包,0%数据包丢失
往返最小/平均/最大/标准差=43.876/52.403/55.517/4.345毫秒
通过在交互式shell终端界面上模拟键入命令来执行命令。因此,终端响应您“键入”的内容并不奇怪
要自动执行命令,请不要使用shell终端。使用SSH“exec”通道。在帕拉米科就是这样
看