目前,我的网络团队正在使用 FTP 服务器 (Filezilla) 下载固件版本。
我们在服务器上创建一个帐户,将固件上传到服务器,然后在 cisco 设备上我们使用命令copy ftp://username:password@server_ip/file_name storage_device:
,设备正在从 ftp 服务器下载固件。
现在,我在 python 中使用 Flask 创建了一个网站,其中包含我的团队使用的一些脚本,我想添加一个脚本,允许用户将文件上传到网站,提供设备的 ip 和脚本将连接到设备并从服务器中提取文件。
在使用 创建 ftp 服务器pyftpdlib
时,我遇到了一些问题,因为设备正在使用提供的用户登录,但没有下载文件。
如果我使用 FTP 客户端(FileZilla 客户端)登录服务器,我可以单独下载文件。
我想问题出在思科设备尝试在连接时直接下载固件。
我用来创建python服务器的代码:
import os
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('username', 'password', '/ftp', perm='elradfmwMT')
handler = FTPHandler
handler.authorizer = authorizer
handler.banner = "Test FTP server"
address = ('0.0.0.0', 21)
server = FTPServer(address, handler)
server.max_cons = 256
server.max_cons_per_ip = 10
server.serve_forever()
if __name__ == '__main__':
main()
如果有人遇到过类似的问题,我们将不胜感激。
谢谢!