Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Paramiko-Python接收命令的输出_Python_Ssh_Paramiko - Fatal编程技术网

从Paramiko-Python接收命令的输出

从Paramiko-Python接收命令的输出,python,ssh,paramiko,Python,Ssh,Paramiko,我正在创建一个python脚本,该脚本将SSH放入一个运行一些命令的linux框中。我正在使用paramiko实现ssh功能 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ipadd, username='username', password='password') chan = ssh.invoke_shell()

我正在创建一个python脚本,该脚本将SSH放入一个运行一些命令的linux框中。我正在使用paramiko实现ssh功能

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ipadd, username='username', password='password')
chan = ssh.invoke_shell()

chan.send('find / -name "test"')
time.sleep(1)
resp = chan.recv(9999)
print resp

chan.send('find / -name "test1"')
time.sleep(1)
resp = chan.recv(9999)
print resp
命令运行成功,但当我想要接收输出时(使用chan.recv,它返回以下内容):

find / -name "test"
find / -name "test2"
我相信我应该(并且我需要)以字符串的形式接收find cmd的输出

/data/test
/data/test2

看来我有两件事做错了。首先

resp = chan.recv(9999)
应该是

resp += chan.recv(9999)
其次,我需要在请求回复之前发送一条新的线路

channel.send("\n")
检查此链接是否解决了您的问题