我目前正在创建一个类来使用ssh(paramiko)在linux机器上远程执行命令。下面是我使用的代码def connect(self):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(self.ip, port=self.port, username=self.user,password=self.password,timeout=self.timeout)
time.sleep(10)
return ssh
def runCommands(self,commands):
ssh=self.connect()
channel = ssh.invoke_shell()
time.sleep(10)
for command in commands:
wait=0
while channel.send_ready()!=True:
wait+=1
time.sleep(self.timeout)
if wait==5:
return 0
channel.send(command+'\n')
channel.send("exit\n")
return 1
我这里的问题是,如果命令遇到错误,例如如果我使用'mkdira':“fileexist error”,我如何处理它。我试着用频道.recv(buff_size)但这里的问题是我无法区分错误消息和正常消息。在
提前谢谢