ホームページ >バックエンド開発 >Python チュートリアル >Python スクリプトを使用して Linux でリモート操作を実装する方法

Python スクリプトを使用して Linux でリモート操作を実装する方法

WBOY
WBOYオリジナル
2023-10-05 10:57:041474ブラウズ

Python スクリプトを使用して Linux でリモート操作を実装する方法

Python スクリプトを使用して Linux でリモート操作を実現する方法には、特定のコード サンプルが必要です。

Linux システムでは、Python スクリプトを使用してリモート操作を簡単に実現し、リモートでコマンドを実行できます。 、ファイルの転送およびその他の機能。この記事では、Python スクリプトを使用して Linux でリモート操作を実装する方法と、具体的なコード例を紹介します。

1. コマンドのリモート実行

Linux システムでリモート コマンド実行の機能を実装するには、paramiko モジュールを使用できます。 paramiko は、純粋な Python で実装された SSHv2 プロトコル ライブラリであり、SSH クライアントの機能を実装できます。

まず、ローカル マシンに paramiko モジュールをインストールする必要があります。 pip を使用してインストールできます。コマンドは次のとおりです:

pip install paramiko

インストールが完了したら、次のコード例を使用してコマンドをリモートで実行する機能を実装できます:

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')

In上記のコードでは、remote_execute 関数は、ホスト名 (ターゲット ホストの IP アドレス)、ユーザー名 (ユーザー名)、パスワード (パスワード)、およびコマンド (実行するコマンド) の 4 つのパラメーターを受け入れます。 paramiko モジュールの SSHClient オブジェクトを通じて、指定したホストに接続し、コマンドを実行できます。

2. ファイル転送

Linux システムでファイル転送機能を実現するには、paramiko モジュールの SFTP 機能を使用できます。 SFTP (SSH File Transfer Protocol) は、SSH プロトコルをベースとしたファイル転送プロトコルであり、リモート ファイルのアップロードやダウンロードなどの操作を実現できます。

次は、ファイルをリモートでアップロードする機能を実現できるサンプル コードです。

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')

上記のコードでは、remote_upload 関数は、ホスト名 (ターゲット ホストの IP アドレス)、ユーザー名の 5 つのパラメーターを受け入れます。 (ユーザー名)、パスワード(パスワード)、local_path(ローカルファイルパス)、およびremote_path(リモートファイルパス)。 paramiko モジュールの SSHClient オブジェクトと SFTP オブジェクトを介して、指定したホストに接続し、ファイルをアップロードできます。

概要:

上記のコード例を通じて、Linux での Python スクリプトのリモート操作の機能を実現できます。実際の運用保守業務ではリモートからのコマンド実行やファイル転送が頻繁に行われますが、Pythonスクリプトを利用することで効率化・利便性が向上します。もちろん、Python スクリプトを使用してリモート操作を行う場合は、無用なトラブルを避けるためにセキュリティと権限制御に注意する必要があります。

以上がPython スクリプトを使用して Linux でリモート操作を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。