Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sao chép tệp vào máy chủ từ xa bằng Python bằng SCP hoặc SSH?


Cách dễ nhất để sao chép tệp từ máy chủ này sang máy chủ khác qua ssh là sử dụng lệnh scp. Để gọi scp, bạn cần có mô-đun quy trình con.

ví dụ

import subprocess
p = subprocess.Popen(["scp", "my_file.txt", "username@server:path"])
sts = os.waitpid(p.pid, 0)

Bạn cần lệnh gọi chờ đợi để quá trình sao chép hoàn tất.

Một giải pháp khác là mở kết nối ssh và sử dụng mô-đun scp.

ví dụ

from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('user@server:path')
with SCPClient(ssh.get_transport()) as scp:
    scp.put('my_file.txt', 'my_file.txt') # Copy my_file.txt to the server