paramiko怎么读取输出是什么
时间: 2023-06-05 10:07:45 浏览: 214
可以使用paramiko库提供的recv方法来读取输出。具体实现方式如下:
```python
import paramiko
# 创建ssh客户端对象
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', port=22, username='user', password='password')
# 执行命令并读取输出
stdin, stdout, stderr = ssh.exec_command('command')
output = stdout.read().decode()
# 关闭ssh连接
ssh.close()
```
其中,command为要执行的命令。执行完命令后,可以使用stdout.read()方法读取命令的输出,并使用decode()方法将其转换为字符串格式。
相关问题
Paramiko 的 invoke_shell() 方法怎么读取输出
invoke_shell() 方法可以通过 send() 方法向远程服务器发送命令,并通过 recv() 方法获取远程服务器返回的结果。具体实现可以参考以下代码:
```
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='example.com', username='user', password='pass')
shell = client.invoke_shell()
shell.send('ls -l\n')
while not shell.recv_ready():
pass
output = shell.recv(1024)
print(output)
```
上述代码连接到远程服务器 example.com ,使用用户名为 user ,密码为 pass ,然后执行 ls -l 命令并读取结果。其中 shell.send() 方法用于发送命令,shell.recv() 方法用于获取输出结果。
paramiko 实时打印
使用 paramiko 远程执行命令时,需要实时打印远程命令的输出,可以使用 `invoke_shell` 方法来实现。示例代码如下:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname', username='root', password='password')
# 打开一个交互式的 shell
channel = ssh.invoke_shell()
# 发送命令
channel.send('ls\n')
# 读取输出
while not channel.recv_ready():
pass
output = channel.recv(1024).decode('utf-8')
print(output)
# 关闭连接
ssh.close()
```
这里的关键是使用 `invoke_shell` 方法打开一个交互式的 shell,然后使用 `send` 方法发送命令,使用 `recv` 方法接收输出。需要注意的是,`recv` 方法是阻塞的,需要等待远程服务器返回数据才能继续执行后面的代码。因此,我们使用一个循环来等待数据的到来。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)