使用 paramiko 检查是否存在与远程主机的连接
我使用 paramiko.SSHClient() 的单个对象在远程计算机上执行命令。当我使用 ssh.exec_command(cmd) 时,与远程主机的连接丢失,ssh.exec_command 挂起。
有没有办法在 ssh.exec_command() 之前检查连接是否存在?
I'm using single object of paramiko.SSHClient()
for executing a command on a remote machine. When I use ssh.exec_command(cmd)
, and the connection to remote host is lost, ssh.exec_command
hangs up.
Is there a way to check for connection existence before ssh.exec_command()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有长时间运行的 SSH 连接,您可能需要使用 Keep Alive 参数通过 Transport.set_keepalive 。
If you have a long running SSH connection, you may want to use the Keep Alive parameter via Transport.set_keepalive.
作为另一种可能性,execnet 可能会起作用。它包装了命令行 ssh 命令,所以它绝对不是 paramiko 方法......只是一个。
As an alternate possibility, maybe execnet would work. It wraps the command line ssh command instead, so it's definitely not the paramiko approach... just a though.