IOError(errno.EACCES, text) при использовании putfo() из paramiko на SFTP-сервереPython

Программы на Python
Anonymous
IOError(errno.EACCES, text) при использовании putfo() из paramiko на SFTP-сервере

Сообщение Anonymous »

Ниже показано, как настроить SFTP-сервер через хранилище BLOB-объектов Azure

Код: Выделить всё

ssh_client = paramiko.SSHClient()

ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=host, port=port, username=username,password=password, look_for_keys=False)

ftp = ssh_client.open_sftp()

# upload to SFTP server
ftp.putfo(BytesIO(file_obj), remotepath=file_name)
Однако, когда я настраиваю SFTP-сервер через виртуальную машину, работающую в центре обработки данных Windows Server 2019, я получаю

IOError( errno.EACCES, text)

Соединение установлено успешно, но putfo() завершается неудачей. Я также пробовал сделать что-то вроде

Код: Выделить всё

path = "C:\\Program Files (x86)\\freeFTPd\\"

# upload to SFTP server
ftp.putfo(BytesIO(file_obj), remotepath=os.path.join(path, file_name))
и

Код: Выделить всё

ftp.putfo(BytesIO(file_obj), remotepath="C:\\Program Files (x86)\\freeFTPd\\"+file_name))
Я попробовал описанное выше, потому что кажется, что для этого нужно больше, чем просто имя файла, но мне это также кажется странным, потому что на сервере есть настройка корневого каталога, куда должен идти файл. .
Что я здесь делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ftp-server

Вернуться в «Python»