在进行研究生课题时,由于需要进行数据传输,因此想要搭建一个ftp服务器。基于成本与时间的考量,最终决定使用云服务器作为远程端,于是就寻找到了阿里云。由于未曾具备相关网络知识,因此需要更多的调试机会。而阿里云的学生飞天加速计划正好能提供免费的使用时长,避免了成本与资源的浪费。而在实际使用的过程中,遇到了诸多的问题,在此记录下来,一方面为之后的正式使用提供参考,另一方面可以为同样不具备相关背景知识却需要使用这项技术的同学提供参考价值,减少弯路。
首先,学生认证之后可以免费使用两周的云服务器。ssh连接服务器后,在终端上install一下vsftpd软件。相关教程有很多。之后就是修改配置文件。可以先查看一下vsftpd.conf文件在哪个目录下,因为搜到的教程上基本提示在/etc/vsftpd/vsftpd.conf,而本人的配置文件在/etc目录下。无论是匿名用户还是本地用户都可以在配置文件中设置,也可以同时设置YES。同时,应将LISTEN设置为YES,IPv6设置为NO。在配置文件最后添加pasv_able=YES;pasv_address=弹性ip;设置被动模式的最大最小端口,一共四条配置信息。之后重启vftpd.service。
之后需要设置服务器的安全组规则。按照相应教程,设置20/21端口作为ftp的控制端口,此外,还必须将配置文件中设置的最大最小端口设置为入站规则,否则会被服务器的防火墙阻拦。
基本完成以上设置后,可以进行网络测试。在客户端终端上,本人使用的Ubuntu18.04版本,通过ftp -p 弹性地址命令,采用被动模式连接服务器。可以用annoymous匿名登录,使用ls命令可以查看服务器当前目录下的文件目录,使用get下载。如果遇到227,返回的六位数字代表了服务器传来的进行数据传输的ip和端口。倒数第二位数字乘以256再加上最后一位数字应该在配置文件中设置的端口范围中,如果不在,请再检查服务器安全组规则以及配置文件。如果遇到553,则更改服务器上ftp目录的权限。如果遇到ls无结果,并提示425,检查客户端的对应端口是否打开。
根据实操与测试结果,最终成功实现了本地用户成功访问云服务器,并能通过get、put进行数据文件的上传与下载。期间,遇到了很多的问题与麻烦,通过搜索了诸多论坛并逐一尝试,最终才得以解决。在现在这个信息时代,互联网上存在着诸多的信息,我们还是要深知纸上得来终觉浅,绝知此事要躬行。这样才能够真正地掌握一项技能。阿里云提供的这个学生计划能为学生省下试错的代价,值得肯定与尝试。