windows下使用paramiko进行SSH的连接和交互不成功
我想通过python脚本去自动抓取山石防火墙上的配置实现定期备份,但是用paramiko进行不成功,无论什么命令都没有回显代码如下:
#-*- coding: utf-8 -*-
import paramiko,time
#paramiko.util.log_to_file('C:\Users\Administrator\Desktop\2.txt')
def ssh2(ip,username,passwd,cmd):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
stdin,stdout,stderr = ssh.exec_command(cmd)
print stdout.read()
for x instdout.readlines():
print x.strip("\n")
print '%s\tOK\n'%(ip)
ssh.close()
except :
print '%s\tError\n'%(ip)
ssh2("172.16.0.1","xxxx","xxxx","show config")
回显如下:
同样的代码 连接思科交换机是有正常回显的:
问题如下:
这个是什么问题?怎么解决?
怎么能看到连接的状态?(是否连接上?命令是否正常执行了?) 我记得要用标准输入输出来抓取,如果有错误提示,你没用错误输出显示,就会hang在那里#!/usr/bin/python
import paramiko
paramiko.util.log_to_file('/root/pyscript/log.log')
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('1.1.1.1',port=22,username='123',password='1234567,.')
stdin,stdout,stderr=ssh.exec_command('ls')
ssh.close()
不行 我用你的脚本试了还是这样。。。山石没有任何回显,思科回显正常
我觉得是不是里面少了什么参数。。。
jixuuse 发表于 2016-02-17 16:41 static/image/common/back.gif
我记得要用标准输入输出来抓取,如果有错误提示,你没用错误输出显示,就会hang在那里 有可能是设备系统的问题,你试试用telnet链接显示是否正常。
有些嵌入式系统ssh连过去执行了enable之类的指令以后是自己起了一个应用cli,导致ssh抓不到数据:lol telnet我之前就试过山石可以成功
SSH这边我测试了思科 山石和华为
结果是思科能正常显示,山石无回显 华为直接卡住
如果是另起cli那山石的telnet应该也是无回显的对吧?并且我也没有enable
感谢你的指导!
回复 4# jixuuse
我这么说是因为我这边公司自己做的AP就是这么操作的:lol,所以知道有这么个坑,SSH连过去实际是系统自己执行了一个telnet 127.0.0.1的操作;P,如果你用程序去抓,有可能抓不到数据,直接telnet连一切正常 谢谢你的解答哈!{:qq23:}
回复 6# jixuuse
页:
[1]