目前,我的网络团队正在使用FTP服务器(Filezilla)下载固件版本。
[我们在服务器上创建一个帐户,将固件上传到服务器,然后在cisco设备上,我们使用命令copy ftp://username:password@server_ip/file_name storage_device:
,并且该设备正在从ftp服务器下载固件。
现在,我有一个用Flask在python中创建的网站,其中包含我的团队使用的一些脚本,我想添加一个脚本,该脚本允许用户将文件上传到网站,提供设备的ip,以及脚本将连接到设备并从服务器中提取文件。
[使用pyftpdlib
创建ftp服务器时,由于设备正在使用提供的用户登录,但未下载文件,因此遇到了一些问题。
如果我使用FTP客户端(FileZilla客户端)登录到服务器,则可以单独下载文件。
我猜这是cisco设备试图在连接时直接下载固件的问题。
我用来创建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()
如果任何人遇到这样的问题,将不胜感激。
谢谢!
两个可能的问题:1.观察IOS设备上的磁盘空间。一些平台的额外图像空间很小,因此良好的图像卫生至关重要。2.在我的各种实验中,我发现将图像推送到设备通常比要求设备从其他位置提取图像更可靠。您可能需要添加配置条目“ ip scp server enable”。然后,您可以编写脚本来直接推送图像。