一.使用SSH登陆服务器/交换机
使用SSH登陆设备,首先需要安装paramiko模块。以登陆华为交换机为例:
import paramiko
import time
import socket
import sys
import os
hostname = '1.1.1.1'
username = 'admin'
password = 'admin'
#paramiko.util.log_to_file('syslogin.log') #发送paramiko日志到syslogin.log文件
ssh = paramiko.SSHClient() #创建一个SSH客户端client对象
ssh.load_system_host_keys() #获取客户端host_keys,默认~/.ssh/known_hosts,非默认路径需指定ssh.load_system_host_keys(/xxx/xxx)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname,port=22,username=username,password=password) #创建SSH连接
time.sleep(5)
stdin,stdout,stderr = ssh.exec_command('dis ip int br') #调用远程执行命令方法exec_command()
print(stdout.read().decode('utf-8')) #打印命令执行结果,得到Python列表形式,可以使用stdout_readlines()
ssh.close()
执行命令后,稍等一会儿,就会显示出运行结果。
二.在以上基础上,把显示结果保存到txt
1.把运行结果保存到变量‘file’
file=stdout.read().decode('utf-8')
2.创建一个txt文档“test”,用来保存上述运行结果。
with open('test.txt','w') as f:
for temp in file:
f.write(temp)
3.整合