由于参加数学建模比赛,做的题目数据有点大自己的笔记本性能又不好,所以按流量购买了阿里云的服务器。首先要解决的是服务器和本地之间的文件传输。搜索之后选择了ftp在这里总结一下。
服务器配置
- 首先使用ssh连接服务器
- apt-get update 更新源信息
- 安装 ftp服务器vsftpd
apt-get install vsftpd -y
- 添加一个用户,专门作为ftp用户登录登录使用
# 用户名:myftp
# 用户目录:/home/myftp
# -s /usr/sbin/nologin 限制myftp不能登录shell终端
useradd -d /home/myftp -s /usr/sbin/nologin myftp - 查看/etc/shells是否包含/usr/sbin/nologin, 如果没有添加
- 修改账户密码
passwd myftp
- 创建home目录并修改权限:
mkdir /home/myftp
chown -R myftp.myftp /home/myftp
# /home/myftp 不能有写权限否则登录不成功
chmod 555 /home/myftp - 修改vsftpd文件:
vim /etc/vsftpd.conf
# 禁止匿名登录
anonymous_enable=NO
# 允许本地账户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 打开下面注释,允许ftp访问其主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list - 添加/etc/vsftpd.chroot_list
vim /etc/vsftpd.chroot_list
# 禁止ftp账户访问主目录,文件中添加内容:ftp - 重启vsftpd
service vsftpd restart
在本地安装filezilla客户端
下载
wget -c http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.10.3/FileZilla_3.10.3_x86_64-linux-gnu.tar.bz2/download?nowrap
解压
# 这里可能要对下载的文件重命名
tar -vxjf FileZilla_3.10.3_x86_64-linux-gnu.tar.bz2- 执行启动
# 可以在/usr/local/bin中创建软连接方便以后启动
cd /FileZilla3/bin
./filezilla
- 连接出现的问题
访问过程中可能出现(530 User Deny错误)
以apt-get自动安装的vsftpd会因为ubuntu内核登录采用PAM认证用户,这个方式会继承给ftp登录用户,而导致任何的ftp用户(无论是本机还是远程发起的)拒绝登录——530 User Deny.
Note: 以源码vsftpd编译不受此bug影响
此bug实际上是由于ubuntu过于严谨的用户认证措施造成的。虚拟ftp用户也同样收到影响。无法通过任何方式登录ftp。
网上有补丁,这里是更简单的修复方法:
- 卸载掉vsftpd: apt-get remove vsftpd
- rm /etc/pam.d/vsftpd
- apt-get重装vsftpd
- 参考
http://jingyan.baidu.com/article/3d69c5516f4b82f0cf02d7a2.html
http://blog.csdn.net/wengyupeng/article/details/44780315
https://bbs.aliyun.com/read/237480.html?spm=5176.7114037.1996646101.1.zRWDim&pos=1