AWS:EC2 ::无法连接FTP客户端?

我的服务器操作系统:Amazon Linux

我正在尝试设置ftp。 我有:

基本上,我遵循了这些步骤

  • 启动vsftpd服务(状态显示[ok])

我为我的ftp客户端使用filezilla。

这是我的设置/configuration:

主持人:ec2-XX-XX-XXX-XX.compute-1.amazonaws.com

端口: – (空白,但我试过20和21)

服务器types:FTP – 文件传输协议

logintypes:正常

用户名:(尝试root和ec2-user)

转移模式:尝试被动和主动

我总是有这个错误:

Status: Waiting to retry... Status: Resolving address of ec2-XX-XX-XXX-XX.compute-1.amazonaws.com Status: Connecting to XX.XX.XXX.XX:21... Error: Connection timed out Error: Could not connect to server 

我错过了任何configuration/设置?

编辑

执行/ sbin / iptables -L -n后

结果如下:

 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

你必须在vsftpd中启用被动模式,并让它监听你的实例的弹性IP:

  • pasv_enable = YES
  • pasv_min_port = 1024
  • pasv_max_port = 1048
  • port_enable = YES
  • pasv_address =弹性IP

另外,打开服务器安全组中的端口1024-1048,并在您的Linux服务器上。 不要忘记端口21以及;)

如果您只是想在您的EC2实例和本地计算机之间传输文件,我看不到您需要安装FTP服务器的原因。 您可以使用psftp或filezillia与您的私钥通过端口22安全地连接到您的EC2实例。这篇文章有一步一步的指示。 http://lzw-programmingjourney.blogspot.com/2011/12/set-up-ftp-server-on-amazon-aws-ec2.html

从日志中可以明显看出端口21正在被阻塞。

在服务器端,你需要检查VSFTPD是否监听所有IP地址,并用命令检查它

netstat -ntlp

之后,端口21应该从所需的IP地址在Amazon云安全组中打开。

在启动到服务器的任何连接之前,尝试运行NMAP端口扫描以查看端口21是否实际上从客户端打开。 为它运行:

nmap -vv -P0(服务器IP地址或DNS)

你不会说你正在使用哪个Linux发行版,所以很难确定,但是我怀疑你需要configurationLinux防火墙(iptables)来允许FTP。

尝试以下

 sudo iptables -I INPUT -p tcp -m tcp --sport 20 --dport 1024:1048 -j ACCEPT sudo iptables -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT 

编辑它看起来不像你的EC2实例iptables是问题,所以它一定是别的东西。 在您的AWS控制台中,检查实例是否在默认安全组中,并且默认安全组包含类似于此的设置。

 Connection Method Protocol From Port To Port Source (IP or Group) - tcp tcp 20 20 0.0.0.0/0 - tcp tcp 21 21 0.0.0.0/0 - tcp tcp 1024 1048 0.0.0.0/0 

如果这样做,那么你在其他地方的问题是别的东西阻碍你的连接。

我使用Filezillalogin,并按照下面的步骤。

要使用Filezilla连接到正在运行的Amazon EC2实例,请执行以下操作:

  1. 编辑 – >设置 – >连接 – > SFTP点击“添encryption钥文件”

  2. 浏览到.pem文件的位置并select它。

  3. 会出现一个消息框,要求您允许将该文件转换为ppk格式。 单击是,然后给文件一个名称并将其存储在某处。

  4. 如果新文件显示在密钥文件列表中,则继续下一步。 如果没有,然后单击“添encryption钥文件…”并select转换后的文件。

  5. 文件 – >站点pipe理器

  6. 使用以下参数添加新的站点:

    主持人:您的公开DNS名称ec2实例

    协议:SFTP

    logintypes:正常

    用户:ec2-user

按连接button

video教程: 点击这里