How to implement remote operations in Linux using Python scripts

WBOY
Release: 2023-10-05 10:57:04
Original
1471 people have browsed it

How to implement remote operations in Linux using Python scripts

How to use Python scripts to achieve remote operations in Linux requires specific code examples

In Linux systems, using Python scripts can easily achieve remote operations and can remotely Execute commands, transfer files and other functions. This article will introduce how to use Python scripts to implement remote operations in Linux and give specific code examples.

1. Remote execution of commands

To implement the function of remote command execution in a Linux system, you can use the paramiko module. paramiko is an SSHv2 protocol library implemented in pure Python, which can implement the functions of an SSH client.

First, you need to install the paramiko module on your local machine. You can use pip to install, the command is as follows:

pip install paramiko
Copy after login

After the installation is complete, you can use the following code example to implement the function of remotely executing commands:

import paramiko

def remote_execute(hostname, username, password, command):
    # 创建SSH客户端对象
    ssh = paramiko.SSHClient()
    # 如果目标主机不在known_hosts文件中,允许连接
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        # 连接目标主机
        ssh.connect(hostname, username=username, password=password)
        # 执行命令
        stdin, stdout, stderr = ssh.exec_command(command)
        # 获取命令输出
        output = stdout.read().decode()
        # 打印输出结果
        print(output)
    finally:
        # 关闭连接
        ssh.close()

# 示例:远程执行命令
remote_execute('192.168.1.100', 'root', 'password', 'ls')
Copy after login

In the above code, the remote_execute function accepts four Parameters: hostname (IP address of target host), username (username), password (password) and command (command to be executed). Through the SSHClient object of the paramiko module, you can connect to the specified host and execute commands.

2. Transfer files

To realize the function of transferring files in the Linux system, you can use the SFTP function of the paramiko module. SFTP (SSH File Transfer Protocol) is a file transfer protocol based on the SSH protocol, which can realize operations such as uploading and downloading remote files.

The following is a sample code that can realize the function of uploading files remotely:

import paramiko

def remote_upload(hostname, username, password, local_path, remote_path):
    # 创建SSH客户端对象
    ssh = paramiko.SSHClient()
    # 如果目标主机不在known_hosts文件中,允许连接
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        # 连接目标主机
        ssh.connect(hostname, username=username, password=password)
        # 创建SFTP客户端对象
        sftp = ssh.open_sftp()
        # 上传文件
        sftp.put(local_path, remote_path)
        # 关闭SFTP连接
        sftp.close()
    finally:
        # 关闭SSH连接
        ssh.close()

# 示例:远程上传文件
remote_upload('192.168.1.100', 'root', 'password', '/path/to/local/file', '/path/to/remote/file')
Copy after login

In the above code, the remote_upload function accepts five parameters: hostname (target host IP address), username ( username), password (password), local_path (local file path) and remote_path (remote file path). Through the SSHClient object and SFTP object of the paramiko module, you can connect to the specified host and upload files.

Summary:

Through the above code examples, the function of remote operation of Python scripts in Linux can be realized. Remote execution of commands and file transfer are very common in actual operation and maintenance work. Using Python scripts can improve efficiency and convenience. Of course, when using Python scripts for remote operations, you need to pay attention to security and permission control to avoid unnecessary trouble.

The above is the detailed content of How to implement remote operations in Linux using Python scripts. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template