2012-01-12 65 views
-5

当使用ssh和paramiko在远程系统上执行命令时。在执行时,它提供错误不明原因的paramiko错误

def execute(self,command): 
      to_exec = self.transport.open_session() 
      to_exec.exec_command(command) 
      stdout.write("\r%s" % "Executed") 
      stdout.flush() 

get_connection.execute('sh /etc/botclient/avail_pack.sh') 

File "/home/xxx/project/server/ssh_module.py", line 43, in execute 
    to_exec = self.transport.open_session() 
AttributeError: ssh_connection instance has no attribute 'transport' 
+0

你需要更好地解释你的问题。也许给你的问题一些背景。 – travega 2012-01-12 04:07:43

+0

错误来自没有传输属性的自我对象(ssh_connection对象)。这些信息就在您刚刚发布的内容中。 – danodonovan 2012-01-12 04:48:29

回答

1

你有没有一个Transport流对象。也许尝试创建一个与self.transport = self.get_transport()这样的:

def execute(self,command): 
     self.transport = self.get_transport() 
     to_exec = self.transport.open_session() 
     to_exec.exec_command(command) 
     stdout.write("\r%s" % "Executed") 
     stdout.flush() 

get_connection.execute('sh /etc/botclient/avail_pack.sh') 

但如果不工作,你得给我们一些更多的信息。