使用Paramiko的SSH:无法读取数据

2 投票
1 回答
717 浏览
提问于 2025-04-17 03:11

下面是我的驱动程序信息,我需要通过ssh脚本来获取数据(固件版本),就像下面这样。

ncmdvstk:~ $ ssh admin@153.88.127.21
Password:

MSM760 V. 5.3.6.18-01-9124
(C) 2010 Hewlett-Packard Development Company, L.P.

CLI> enable
CLI# show system info
 [CPU info]   [Mem in  fo]
Firmware Version: 5.3.6.18-01-9124         Load 1min:       0.34   Total RAM:  9 

这是我用来先读取所有数据的程序,数据会存储在一个叫“data”的变量里,这样我之后可以把它分开,获取我需要的信息。但是现在没有数据,它在打印数据时什么都没有显示:

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('153.88.127.21', username='admin',password='catfish')

stdin, stdout, stderr = ssh.exec_command("enable")
stdin.write('show system info \n')
data = stdout.read() 
print data 

请帮我纠正一下获取数据的方法。

1 个回答

0

你需要在 stdin.write() 之后加上 stdin.flush(),否则你发送的输入会一直停留在缓冲区里,不会被处理。

撰写回答