打算把所有的网站文章图片全部搬到阿里云 OSS 上,不仅仅是方便统一管理,同时也是看中阿里云的强大。阿里云 OSS 后台并没有提供直接采用 FTP 客户端(FlashFxp、Filezilla)上传下载的方式,需要进一步进行配置。之前了也没弄,看官方文档似乎有些复杂,其实挺简单的,把自己的操作方法分享一下。

一、简介

  阿里云 OSS FTP 工具是一个特殊的FTP server。它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。官网上特别提示,生产环境请使用OSS SDK,OSS FTP工具主要面向个人用户使用。工具是绿色免安装的,不管 Windows 系统还是 Linux,不管是32位还是64位操作系统,是图形界面还是命令行都可以运行。程序是 Python 写的,已开源到 Github。详细说明如下:

1、目前在1.0版本中,考虑到安装部署的简便,OSS FTP工具不支持TLS加密。由于FTP协议是明文传输的,为了防止您的密码泄漏,建议将FTP server和client运行在同一台机器上,通过127.0.0.1:port的方式来访问。
2、不支持rename和move操作,也就是重命名和移动不行。
3、安装包解压后的路径不能包含中文。
4、FTP server的管理控制页面在低版本的IE中可能打不开。
5、FTP server支持的Python版本:Python2.6和Python2.7。

二、下载

Windows:ossftp-1.0.3-win.zip
Windows默认不会安装Python2.7,所以安装包中包含了Python2.7,解压后即可使用。

Linux/Mac:ossftp-1.0.3-linux-mac.zip
Linux/Mac系统默认安装Python2.7或Python2.6,所以安装包中不再包含可执行的Python,,只包含了相关依赖库。

三、运行

  首先解压之前下载的文件,然后根据环境情况选择不同的运行方式:
Windows:双击运行start.vbs 或 start.bat。如双击无反应,请升级您的IE浏览器或设置其他浏览器为默认浏览器。
Linux:打开终端,运行$ bash start.sh。
Mac:双击start.command,或者在终端运行$ bash start.command。

阿里云 OSS FTP

  上述步骤会启动一个FTP server,默认监听在127.0.0.1的2048端口,可自定义修改,我改成了666。同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。如果您的系统有图形界面,还会自动打开控制页面。在控制页面中允许修改监听地址、监听端口、日志类型、指定某个地域的存储空间(格式为bucket.enpoint)、页面语言,修改后需保存配置并在重启后生效。要注意的是,同一时间内只能存在一个服务器和一个连接。如果在一个服务器已连接的情况下新建连接,则之前连接会直接断开。

四、获取 access_key_id 和 access_key_secret

  登录阿里云管理后台,进入阿里云 OSS 某个 Bucket,右侧有个 Access Key,点进去,建议选择子用户 AccessKey,不要用全局的,如果是全局的话,它会拥有全部的操作权限,不安全。而子用户AccessKey创建之后可以设置只有对当前 Bucket 的操作权限。子用户建立之后,找到此用户,点击右侧的“授权”,我添加了 AliyunOSSFullAccess 权限,也就是管理对象存储服务(OSS)的权限,而不是管理所有阿里云资源的权限。

阿里云 OSS FTP

  点击刚才建立的用户进入,拉到最下面,创建 AccessKey,创建成功之后会显示密码,得把密码记下来,因为关闭窗口后密码就看不到了,如果忘了密码只能将新建,把之前的禁用或删除。关于 access_key_id 和 access_key_secret 可以参考阿里云相关官方文档

五、用 FTP 工具进行上传下载

主机:127.0.0.1;
登录类型:普通;端口根据自定义的改;
用户:格式为access_key_id/bucket_name,例如tSxyiUM3NKswPMEp/ihacksoft.com;
密码:access_key_secret

  官方推荐是用 FileZilla 客户端,但是我用习惯了 FlashFxp。很奇怪,用 FlashFxp 连接是正常的,但是当上传一个文件时软件界面一直闪烁,信息栏显示连接丢失,不过文件似乎是传上去了,但问题肯定是存在的。我还以为是阿里云的配置问题,倒腾了很久,后来发现使用 Filezilla 却没有任何错误,上传非常顺利,那估计是兼容性问题了,不再深入研究,就用 Filezilla 好了。