Как скопировать файл, созданный в скрипте Python, на удаленный сервер, которому нужен пароль, используя pscp?

Мне нужно скопировать множество файлов, созданных в скрипте Python, с локального на удаленный сервер. В командной строке я использую эту строку:

"pscp c:\users\myaccount\documents\foler\file.txt name@server:/home/folder".

Но для этого требуется пароль, который я могу ввести в командной строке.

В моем скрипте Python я «импортирую ОС», затем:

cmd = "pscp local_path server_path"

os.system(cmd)

Но я не знаю, как ввести пароль в моем скрипте.

Спасибо

Не гоните консольное приложение для реализации SFTP. Используйте родную библиотеку Python SFTP.

Martin Prikryl 28.05.2019 11:21

Если можно использовать оба способа, почему лучше использовать родную библиотеку Python SFTP?

Jonathan HIE 28.05.2019 11:33

Потому что с хорошо спроектированной собственной библиотекой, такой как Paramiko/pysftp, у вас есть полный контроль над всем. В то время как pscp имеет ограниченный интерфейс командной строки.

Martin Prikryl 28.05.2019 12:28

Спасибо, на самом деле пытаюсь использовать библиотеку Paramiko, но я не могу без прав администратора, но с вашей ссылкой это удалось.

Jonathan HIE 28.05.2019 13:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
4
617
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуйте использовать пакет paramiko https://docs.paramiko.org/en/2.4/

s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4)

    sftp = s.open_sftp()
    sftp.put('/home/me/file.ext', '/remote/home/file.ext')

Не удалось установить библиотеку paramiko без прав администратора, но спасибо

Jonathan HIE 28.05.2019 13:30

Другие вопросы по теме