使用paramiko中的invoke_shell
时间: 2023-11-28 09:49:44 浏览: 108
Python使用Paramiko模块编写脚本进行远程服务器操作
使用paramiko中的invoke_shell可以在远程服务器上启动一个新的交互式Shell会话。以下是一个简单的示例:
```python
import paramiko
# 创建SSH客户端对象
ssh = paramiko.SSHClient()
# 允许连接未知的主机(默认是RejectPolicy)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接到远程服务器
ssh.connect(hostname='remote_server', username='username', password='password')
# 打开一个新的Shell会话
channel = ssh.invoke_shell()
# 发送命令
channel.send('ls -l\n')
# 接收输出
output = channel.recv(1024)
# 打印输出
print(output)
# 关闭连接
ssh.close()
```
在以上示例中,我们首先使用paramiko创建一个SSH客户端对象,并使用`set_missing_host_key_policy`方法设置连接未知主机时的策略为`AutoAddPolicy`。然后使用`connect`方法连接到远程服务器。
接下来,我们使用`invoke_shell`方法打开一个新的Shell会话,并使用`channel.send`方法发送一个简单的`ls -l`命令。然后使用`channel.recv`方法接收输出,并将其打印出来。
最后,我们使用`close`方法关闭SSH连接。
阅读全文