您的位置:首页 > 编程语言 > PHP开发

和阿里云实现ftp传输

2016-09-24 08:43 246 查看
由于参加数学建模比赛,做的题目数据有点大自己的笔记本性能又不好,所以按流量购买了阿里云的服务器。首先要解决的是服务器和本地之间的文件传输。搜索之后选择了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[/code] 
解压

# 这里可能要对下载的文件重命名

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ftp 阿里云