ssh exec_command 等待执行完成
时间: 2024-12-16 16:29:14 浏览: 9
SSH (Secure Shell) 的 `exec_command` 方法是在 Python 中使用 Paramiko 库与远程服务器交互的一个常用功能,它允许你在 SSH 连接上执行命令并获取结果,就像在终端里一样。当你调用 `exec_command()` 函数时,它会在远程服务器上启动一个新的 shell 或进程,并返回一个通道 (channel),你可以通过这个通道读取或发送数据。
例如:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('remote_host', username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('ls -l')
output = stdout.read().decode() # 读取命令输出
error = stderr.read().decode() # 如果有错误信息,可以从stderr获取
# 关闭连接
ssh.close()
print(f"Output: {output}")
if error:
print(f"Error: {error}")
```
在这个例子中,`exec_command()` 方法会等待直到命令执行完毕,然后将结果分别存储在 `stdout` 和 `stderr` 中。`close()` 方法用于关闭SSH连接。
阅读全文