def exec_command(self, command, bufsize=-1):
#print "Executing Command: "+command
chan = self._transport.open_session()
chan.exec_command(command)
stdin = chan.makefile('wb', bufsize)
stdout = chan.makefile('rb', bufsize)
stderr = chan.makefile_stderr('rb', bufsize)
return stdin, stdout, stderr
在 paramiko 中执行命令时,它总是会在您运行 exec_command 时重置会话。我希望能够执行 sudo 或 su,并且在运行另一个 exec_command 时仍然拥有这些特权。另一个例子是尝试执行 exec_command(“cd /”) 然后再次运行 exec_command 并将其放在根目录中。我知道您可以执行类似 exec_command(“cd /; ls -l”) 的操作,但我需要在单独的函数调用中执行。
原文由 Takkun 发布,翻译遵循 CC BY-SA 4.0 许可协议