paramiko执行bash命令
时间: 2023-07-30 12:11:24 浏览: 56
使用 Paramiko 模块执行 Bash 命令可以通过 SSH 连接到远程服务器,并执行所需的命令。以下是一个示例代码:
```python
import paramiko
# 创建 SSH 客户端
client = paramiko.SSHClient()
# 自动添加远程服务器的主机密钥
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
client.connect('hostname', port=22, username='username', password='password')
# 执行 Bash 命令
stdin, stdout, stderr = client.exec_command('ls -l')
# 打印命令执行结果
print(stdout.read().decode())
# 关闭 SSH 连接
client.close()
```
在上面的示例中,我们首先创建了一个 `SSHClient` 对象,并设置了自动添加主机密钥的策略。然后,使用 `connect` 方法连接到远程服务器,需要提供主机名、端口、用户名和密码。接下来,使用 `exec_command` 方法执行了一个 Bash 命令,这里是 `ls -l`。执行命令后,可以通过 `stdout.read()` 获取命令的标准输出,并使用 `decode()` 方法将其转换为字符串。最后,使用 `close` 方法关闭 SSH 连接。
请注意,在实际使用时,建议使用 SSH 密钥对进行身份验证,而不是密码。此外,还可以在 `exec_command` 方法中执行复杂的命令,包括使用管道、重定向等操作。