python3连接linux后执行命令
-
在Python3中连接Linux系统并执行命令可以通过paramiko库实现。paramiko是一个支持SSH2的Python模块,可以在Python程序中实现远程服务器的连接和操作。下面是一个示例代码:
“`python
import paramiko# 连接Linux服务器
def connect_linux(hostname, port, username, password):
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port, username, password)
return ssh# 执行命令
def execute_command(ssh, command):
stdin, stdout, stderr = ssh.exec_command(command)
# 获取命令输出结果
output = stdout.readlines()
return outputif __name__ == ‘__main__’:
# 连接Linux服务器
ssh = connect_linux(‘your_hostname’, your_port, ‘your_username’, ‘your_password’)
# 执行命令
command_result = execute_command(ssh, ‘your_command’)
print(command_result)
# 关闭连接
ssh.close()
“`请将代码中的 “your_hostname”、your_port”、”your_username”、”your_password”和”your_command”替换为相应的信息,即目标Linux服务器的主机名、端口号、用户名、密码和要执行的命令。
使用paramiko库连接Linux后,可以通过execute_command函数执行任意Linux命令,并通过输出结果查看执行结果。
2年前 -
使用Python3连接Linux并执行命令可以通过使用Paramiko库来实现。Paramiko是一个Python模块,用于实现SSH v2协议,并提供了一种简单而强大的方式来执行远程命令。
下面是使用Python3连接Linux并执行命令的步骤:
1. 安装Paramiko库:
在终端中运行以下命令来安装Paramiko库:
“`
pip install paramiko
“`2. 导入必要的库:
在Python脚本的开头,导入Paramiko库:
“`python
import paramiko
“`3. 创建SSHClient对象并建立连接:
“`python
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port, username, password)
“`
这里的`hostname`是远程Linux主机的IP地址或域名,`port`是SSH连接的端口(默认是22),`username`是登录用户名,`password`是登录密码。4. 执行远程命令:
“`python
stdin, stdout, stderr = ssh.exec_command(command)
“`
这里的`command`是要执行的远程命令。5. 获取命令输出:
使用`stdout.readlines()`方法来获取命令的输出结果。
“`python
output = stdout.readlines()
for line in output:
print(line.strip())
“`6. 关闭连接:
执行完命令后,记得关闭SSH连接:
“`python
ssh.close()
“`通过以上步骤,你就可以使用Python3连接Linux并执行命令了。在真实的应用中,你可能需要处理异常和错误情况,并添加额外的功能来满足你的需求。
2年前 -
一、使用paramiko模块连接Linux服务器
Paramiko是一个用于进行SSH连接与通信的Python库,可以用于执行远程命令、文件传输等操作。
首先,需要在Python环境中安装paramiko库,可以使用以下命令安装:
“`
pip install paramiko
“`安装完成后,就可以使用paramiko库进行连接和执行命令了。
“`python
import paramiko# 创建SSH客户端对象
client = paramiko.SSHClient()# 自动添加主机名和主机密钥到本地的
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接Linux服务器
client.connect(hostname=’your_hostname’, port=’your_port’, username=’your_username’, password=’your_password’)# 执行命令
stdin, stdout, stderr = client.exec_command(‘your_command’)# 获取命令执行结果
result = stdout.read().decode(‘utf-8’)# 打印命令执行结果
print(result)# 关闭连接
client.close()
“`参数说明:
– hostname:Linux服务器的主机名或IP地址。
– port:SSH端口,默认为22。
– username:登录Linux服务器的用户名。
– password:登录Linux服务器的密码。二、使用subprocess模块连接Linux服务器
另一种连接Linux服务器并执行命令的方法是使用subprocess模块,该模块可以在Python中创建新的进程,通过它可以执行外部命令。
“`python
import subprocess# 连接Linux服务器并执行命令
result = subprocess.getoutput(‘ssh your_username@your_hostname “your_command”‘)# 打印命令执行结果
print(result)
“`参数说明:
– your_username:登录Linux服务器的用户名。
– your_hostname:Linux服务器的主机名或IP地址。
– your_command:要执行的命令。三、通过第三方库fabric连接Linux服务器
Fabric是一个用于部署、远程系统管理等任务的Python库,它封装了paramiko库,并提供了更方便的API来连接和执行命令。
首先,需要在Python环境中安装fabric库,可以使用以下命令安装:
“`
pip install fabric
“`安装完成后,可以使用fabric库来连接和执行命令。
“`python
from fabric import Connection# 连接Linux服务器
with Connection(‘your_username@your_hostname’) as c:
# 执行命令
result = c.run(‘your_command’, hide=True)# 打印命令执行结果
print(result.stdout)
“`参数说明:
– your_username:登录Linux服务器的用户名。
– your_hostname:Linux服务器的主机名或IP地址。
– your_command:要执行的命令。以上就是使用Python连接Linux服务器并执行命令的几种方法,根据实际需求选择合适的方法即可。
2年前