Я использую библиотеку Paramiko для подключения по ssh к Linux-машине и из Windows, и мне нужно скопировать файл из Windows в Linux.
Скрипт python будет выполняться из Windows
Путь Windows:
uploadlocalfilepath = C:\Test\Auto\file.txt
Линукс путь:
путь к удаленному файлу загрузки =\tmp
Я пробовал следующее для подключения к Linux-машине:
self.client = paramiko.SSHClient()
self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.client.connect(self.host, username=self.username, password=self.password)
А затем ниже для копирования файла:
ftp_client= self.client.open_sftp()
ftp_client.put(self.uploadlocalfilepath,self.uploadremotefilepath)
Есть ли какие-либо ограничения в том, чтобы сделать то же самое от Paramiko. Любая помощь приветствуется
Ошибка:
Файл C:\Users\testuser\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\sftp_client.py, строка 759, вставить return self.putfo(fl, remotepath, file_size, обратный вызов, подтвердить) Файл C:\Users\testuser\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\sftp_client.py, строка 714, в putfo с self.file(remotepath, wb) as fr: File C: \Users\testuser\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\sftp_client.py, строка 372, в open t, msg = self._request(CMD_OPEN, имя файла, imode, attrblock) Файл C :\Users\testuser\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\sftp_client.py, строка 813, в _request return self._read_response(num) File C:\Users\testuser\AppData\ Local\Programs\Python\Python38\lib\site-packages\paramiko\sftp_client.py, строка 865, в файле _read_response self._convert_status(msg) C:\Users\testuser\AppData\Local\Programs\Python\Python38\lib \site-packages\paramiko\sftp_client.py, строка 898, в _convert_status поднять IOError(т.е. xt) OSError: Ошибка
uploadremotefilepath = "/tmp/file.txt"
- person Martin Prikryl   schedule 13.11.2020