python登录linux执行命令
-
要使用Python登录Linux并执行命令,可以使用paramiko库。Paramiko是一个用于SSH2(Secure Shell Version 2)协议的Python实现,可以实现远程登录、文件传输等功能。
首先,需要安装paramiko库。可以使用以下命令在命令行中安装:
“`
pip install paramiko
“`安装完成后,可以使用以下代码示例登录Linux并执行命令:
“`python
import paramiko# 创建SSH客户端对象
client = paramiko.SSHClient()# 自动添加远程主机的SSH密钥
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接远程主机
client.connect(‘远程主机IP’, port=22, username=’用户名’, password=’密码’)# 执行命令
stdin, stdout, stderr = client.exec_command(‘要执行的命令’)# 输出命令执行结果
print(stdout.read().decode())# 关闭SSH连接
client.close()
“`在代码中,需要替换的部分包括:
– ‘远程主机IP’:替换为远程主机的IP地址。
– ‘用户名’:替换为登录远程主机的用户名。
– ‘密码’:替换为登录远程主机的密码。
– ‘要执行的命令’:替换为需要在远程主机上执行的命令。通过以上代码,可以实现Python登录Linux并执行命令的功能。注意,需要保持远程主机处于打开状态,并且用户名和密码正确才能成功登录和执行命令。
2年前 -
要使用Python登录Linux并执行命令,可以使用`paramiko`模块。`paramiko`是一个用于SSH连接和远程命令执行的Python库。
这里是使用`paramiko`模块登录Linux并执行命令的步骤:
1. 安装paramiko模块:在命令行中使用pip安装paramiko模块`pip install paramiko`。
2. 导入paramiko模块:在Python脚本中导入paramiko模块。
“`python
import paramiko
“`3. 创建SSHClient对象:实例化SSHClient对象,并设置自动添加主机密钥。
“`python
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
“`4. 连接到远程服务器:使用SSHClient对象的`connect`方法连接到远程服务器。
“`python
ssh.connect(hostname=’服务器IP地址’, port=’端口号’, username=’用户名’, password=’密码’)
“`5. 执行命令:使用SSHClient对象的`exec_command`方法执行命令,并获取命令执行的输出。
“`python
stdin, stdout, stderr = ssh.exec_command(‘要执行的命令’)# 获取命令执行的输出
output = stdout.read().decode()
“`6. 关闭连接:使用SSHClient对象的`close`方法关闭SSH连接。
“`python
ssh.close()
“`下面是一个完整的示例代码,演示如何使用Python登录Linux并执行命令:
“`python
import paramikodef execute_command(server_ip, port, username, password, command):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname=server_ip, port=port, username=username, password=password)
stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.read().decode()ssh.close()
return output
except Exception as e:
print(f”Error: {e}”)
return None# 示例用法
server_ip = ‘10.0.0.1’
port = 22
username = ‘username’
password = ‘password’
command = ‘ls -l’output = execute_command(server_ip, port, username, password, command)
if output:
print(f”Command output: {output}”)
else:
print(“Failed to execute command.”)
“`以上就是使用Python登录Linux并执行命令的方法。使用paramiko模块可以轻松实现对远程服务器的操作。
2年前 -
要在Python中登录到Linux系统并执行命令,可以使用paramiko库。Paramiko是一个用于SSH2协议的开源Python实现,在Linux系统中,SSH(Secure Shell)是一个用于安全登录远程计算机和传输文件的协议。
以下是使用paramiko库登录到Linux并执行命令的步骤:
1. 安装Paramiko库
首先,确保已经安装了paramiko库。使用以下命令可以在终端中安装paramiko库:
“`
pip install paramiko
“`2. 导入paramiko库
在Python脚本中,首先要导入paramiko库:
“`python
import paramiko
“`3. 建立SSH连接
接下来,使用paramiko库建立SSH连接:
“`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是登录密码,如果使用密钥认证登录,可以使用`pkey`参数。4. 执行命令
连接成功后,可以使用`exec_command`方法执行命令:
“`python
stdin, stdout, stderr = ssh.exec_command(command)
“`
其中,command是要执行的命令。5. 获取输出
使用`stdout.readlines()`方法可以读取命令的标准输出:
“`python
output = stdout.readlines()
“`6. 关闭连接
最后,不要忘记关闭SSH连接:
“`python
ssh.close()
“`下面是完整的示例代码,展示了如何登录到Linux系统并执行命令:
“`python
import paramikodef execute_ssh_command(hostname, port, username, password, command):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port, username, password)stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.readlines()ssh.close()
return output
except Exception as e:
print(“An error occurred:”, e)
return None# 示例用法
hostname = “192.168.1.100”
port = 22
username = “your_username”
password = “your_password”
command = “ls -l”output = execute_ssh_command(hostname, port, username, password, command)
if output:
print(“Command output:”)
for line in output:
print(line)
else:
print(“Failed to execute command.”)
“`以上就是使用paramiko库在Python中登录到Linux系统并执行命令的操作流程。可以根据实际需要进行更多的定制和扩展。
2年前