前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >aws ec2 配置ftp----使用vsftp

aws ec2 配置ftp----使用vsftp

作者头像
流川疯
发布2019-01-17 17:27:09
2.4K0
发布2019-01-17 17:27:09
举报

pem 文件下载:

从aws 下载pem 文件

使用ssh登录

代码语言:javascript
复制
ssh -i "xxx.pem" ec2-user@ec2-xxx.cn-north-1.compute.amazonaws.com.cn

设置并安装vsftp

代码语言:javascript
复制
$sudo yum install vsftpd

$useradd -d /dir username 

$sudo passwd username

$sudo chmod 777 /dir/upload/ -R

配置vsftp conf

修改vsftpd配置文件:

代码语言:javascript
复制
sudo vi /etc/vsftpd.conf  

修改后的内容如下:

代码语言:javascript
复制
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#


# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# The target log file can be vsftpd_log_file or xferlog_file.
# This depends on setting xferlog_std_format parameter
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES

# Switches between logging into vsftpd_log_file and xferlog_file files.
# NO writes to vsftpd_log_file, YES to xferlog_file
xferlog_std_format=YES


# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES


pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#只有写入vsftpd.chroot_list的帐户不被chroot
chroot_local_user=YES
chroot_list_enable=YES
#vsftpd.chroot_list需要手动建立
chroot_list_file=/etc/vsftpd/chroot_list
#允许文本模式下载
ascii_download_enable=YES
#允许文本模式上传
ascii_upload_enable=YES
#允许文本模式下载
ascii_download_enable=YES
#允许文本模式上传
ascii_upload_enable=YES
#启用被动模式
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=60000
pasv_max_port=60020

由于该配置使用了被动模式,所以需要在linux防火墙配置中,开放路由器转发端口

代码语言:javascript
复制
sudo iptables -A INPUT -p tcp --dport 60000:60020 -j ACCEPT

编辑允许访问ftp服务器的用户列表:

代码语言:javascript
复制
sudo vi /etc/vsftpd/user_list  

把不需要的注释掉,最后加上一行ftpUserName

非受限用户

凡是加在文件vsftpd/chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录。在这里默认为空:

代码语言:javascript
复制
sudo vi /etc/vsftpd/chroot_list 

直接保存退出

启动ftp服务

代码语言:javascript
复制
sudo service vsftpd start  

ec2 权限设置

最后,需要在EC2控制台中设置Security Group,增加ftp所需端口

20,21以及60000-60020

这里写图片描述
这里写图片描述

客户端安装与说明

https://filezilla-project.org/

推荐使用FileZilla,并设置为被动模式

如果出现如下错误:

代码语言:javascript
复制
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp> put
(local-file) iz_
usage: put local-file remote-file
ftp> put
(local-file) test.txt
(remote-file) test.txt
local: test.txt remote: test.txt
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp> bye
421 Timeout.

有可能是windows 本地防火墙的问题,可以关闭防火墙 或者首先使用被动模式 quote PASV

解决问题的思路如下:

1、防火墙(本机、客户机)

2、FTP目录的权限

3、客户机是否是IPv6网络

4、客户机的网关限制了外网ftp

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年05月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设置并安装vsftp
    • 配置vsftp conf
      • 编辑允许访问ftp服务器的用户列表:
        • 非受限用户
        • 启动ftp服务
        • ec2 权限设置
        • 客户端安装与说明
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档