用于python的SSH模块

Jat*_*mar 8 python ssh timeout nonblocking paramiko

我必须在远程机器上完成一项工作(使用我的Web服务器),大约需要10分钟.

我在python中使用了pxssh模块,但它给了我"超时错误"(非阻塞).

现在,我正在使用paramiko但是一旦它发出指令就会回来.

我希望Web服务器等到作业完成.有没有可用的python SSH模块.

要么

我们可以通过更改pxssh或的任何配置设置来实现相同的目标paramiko吗?

ars*_*ars 9

您可以使用recv_exit_statusChannel上的方法等待命令完成:

recv_exit_status(个体经营)

从服务器上的进程返回退出状态.这对于检索exec_command的结果非常有用.如果命令尚未完成,则此方法将一直等到它,或直到通道关闭.如果服务器未提供退出状态,则返回-1.

例如:

ssh = paramiko.SSHClient()
ssh.connect(remote, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("some command")
exit_status = ssh_stdout.channel.recv_exit_status()
Run Code Online (Sandbox Code Playgroud)