python连接linux执行shell
时间: 2023-04-24 08:05:27 浏览: 150
Python可以通过paramiko模块连接到Linux服务器,并执行shell命令。具体步骤如下:
1. 安装paramiko模块
可以使用pip命令安装paramiko模块:
```
pip install paramiko
```
2. 连接到Linux服务器
使用paramiko模块的SSHClient类连接到Linux服务器:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='服务器IP地址', port=22, username='用户名', password='密码')
```
其中,set_missing_host_key_policy()方法用于自动添加新的主机密钥,connect()方法用于连接到Linux服务器。
3. 执行shell命令
使用SSHClient类的exec_command()方法执行shell命令:
```python
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read().decode())
```
其中,exec_command()方法返回三个文件对象:stdin、stdout和stderr,分别表示标准输入、标准输出和标准错误。可以使用read()方法读取stdout和stderr的内容,并使用decode()方法将字节流转换为字符串。
4. 关闭连接
使用SSHClient类的close()方法关闭连接:
```python
ssh.close()
```
完整代码示例:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='服务器IP地址', port=22, username='用户名', password='密码')
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read().decode())
ssh.close()
```