【问题标题】:Can't upload file to sftp server with Paramiko Python [duplicate]无法使用 Paramiko Python 将文件上传到 sftp 服务器 [重复]
【发布时间】:2021-02-14 18:53:39
【问题描述】:

我想使用 Paramiko 将文件上传到 SFTP 服务器,但我似乎不正确。
我以为我得到了文件路径“/”的相应错误原因,女巫是服务器上的根,但我没有得到任何东西。
我不断收到此错误:

  File "c:\python\whitelistBot\whitelistBot.py", line 63, in on_message
    sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/')
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 759, in put
    return self.putfo(fl, remotepath, file_size, callback, confirm)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 714, in putfo
    with self.file(remotepath, "wb") as fr:
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 372, in open
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 813, in _request
    return self._read_response(num)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 865, in _read_response
    self._convert_status(msg)
  File "C:\python\whitelistBot\lib\site-packages\paramiko\sftp_client.py", line 898, in _convert_status
    raise IOError(text)
OSError: Operation Unsupported

我正在运行的代码:

import paramiko


FTP_HOST = "********"
FTP_USER = "********"
FTP_PASS = "********"
FTP_PORT = ****

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname= FTP_HOST, username=FTP_USER, password=FTP_PASS, port=FTP_PORT)
sftp_client = ssh_client.open_sftp()

sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/')

sftp_client.close()
ssh_client.close()

编辑:我将放置文件的目录更改为“/home/container”,因为这是他们在网站上告诉我的,但除了我没有收到该错误消息之外,文件没有出现在服务器上

【问题讨论】:

    标签: python sftp paramiko


    【解决方案1】:

    看起来我必须像这样指定文件 '/whitelist1.json' 的名称:

    sftp_client.put('C:/python/whitelistBot/whitelist1.json', '/whitelist1.json') # don't know why but yeah
    

    【讨论】: