使用paramiko检查是否与远程主机建立连接

2 投票
2 回答
3113 浏览
提问于 2025-04-15 16:22

我正在使用一个 paramiko.SSHClient() 的单一对象来在远程机器上执行命令。当我使用 ssh.exec_command(cmd) 时,如果与远程主机的连接断开了,ssh.exec_command 就会卡住。

有没有办法在调用 ssh.exec_command() 之前检查一下连接是否还存在呢?

2 个回答

0

另外一种可能性是,也许可以试试execnet。它是用来包装命令行的ssh命令,所以这和paramiko的方法完全不同……只是个想法。

2

如果你有一个长时间运行的SSH连接,你可能想要使用一个叫做保持连接的设置,这个设置可以通过Transport.set_keepalive来实现。

撰写回答