gateway: Fix SSH channel

pull/36/head
remittor 7 months ago
parent 6500c428ec
commit 673f3a25a8

@ -927,21 +927,17 @@ class Gateway():
#channel.pty('xterm')
#print("exec = '{}'".format(cmd))
try:
rc = channel.execute(cmd)
if rc != 0:
raise RuntimeError('')
channel.execute(cmd)
channel.wait_eof()
except ssh2.exceptions.Timeout:
error = -4
except Exception:
except ssh2.exceptions.SocketRecvError as e:
error = -5
except Exception as e:
error = -10
finally:
ssh.set_timeout(100)
try:
channel.close()
channel.wait_closed()
except Exception:
error = -6 if error == 0 else 0
channel.close()
channel.wait_closed()
if error != 0 and die_on_error:
die(f'SSH: execute command ERR={error}, CMD: "{cmd}"')
if error == 0:
@ -1011,6 +1007,9 @@ class Gateway():
else:
file.write(data)
read_size += size
channel.send_eof()
channel.wait_eof()
channel.wait_closed()
elif self.use_ftp:
ftp = self.get_ftp(self.verbose)
with open(fn_local, 'wb') as file:
@ -1069,6 +1068,9 @@ class Gateway():
for data in file:
channel.write(data)
size = size + len(data)
channel.send_eof()
channel.wait_eof()
channel.wait_closed()
#except ssh2.exceptions.SCPProtocolError as e:
elif self.use_ftp:
ftp = self.get_ftp(self.verbose)

Loading…
Cancel
Save