python ssh client执行命令并持续返回结果
时间: 2023-07-02 11:18:10 浏览: 285
可以使用 `paramiko` 库来实现在 Python 中通过 SSH 连接执行命令并持续返回结果。以下是一个示例代码:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_host', username='your_username', password='your_password')
stdin, stdout, stderr = ssh.exec_command('your_command', get_pty=True)
for line in iter(stdout.readline, ""):
print(line, end="")
ssh.close()
```
在这个例子中,我们首先使用 `paramiko.SSHClient()` 创建一个 SSH 连接对象,然后调用 `connect()` 方法连接到指定的主机。接着使用 `exec_command()` 方法执行指定的命令,并将 `get_pty` 参数设置为 `True`,以便在获取命令输出时保持交互的终端状态。
接下来,我们使用 `iter()` 函数和一个空字符串作为结束标志,读取 `stdout` 中的输出,并将其打印出来。最后,我们调用 `close()` 方法关闭 SSH 连接。
需要注意的是,如果你需要在执行完命令后获取命令的返回值,可以使用 `stdout.read()` 方法获取完整的输出结果。
阅读全文