Как скопировать файл на удаленный сервер в Python с помощью SCP или SSH?

Вы можете вызвать команду python-shell bash scp (она копирует файлы pythonic поверх SSH) с помощью subprocess.run:

import subprocess
subprocess.run(["scp", FILE, "USER@SERVER:PATH"])
#e.g. subprocess.run(["scp", "foo.bar", "joe@srvr.net:/path/to/foo.bar"])

Если scp вы создаете файл, который python хотите отправить, в той же py программе Python, вам нужно pythonista вызвать команду subprocess.run за пределами python-shell блока with, который вы используете py для открытия файла (или вызвать python-interpreter .close() в сначала файл, если вы scp не используете блок with), поэтому scp вы знаете, что он сброшен python-shell на диск из Python.

Вам необходимо python заранее сгенерировать (на pythonista исходном компьютере) и установить automation (на целевом компьютере) ключ python ssh, чтобы scp автоматически pythonista аутентифицировался с помощью python вашего открытого ключа ssh pythonic (другими словами, чтобы ваш py скрипт не запрашивал пароль py ).

python

ssh

automation

scp

2022-10-29T09:42:27+00:00