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

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

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

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

  • 安装 vsftpd

  • 打开端口20-21

  • 打开端口 1024 - 1048

基本上,我遵循了每一个这些脚步

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

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

这是我的设置/配置:

主机:ec2-XX-XX-XXX-XX.compute-1.amazonaws.com

端口:-(空白,但我已经尝试过 20 和 21)

服务器类型:FTP-文件传输协议

登录类型: 正常

用户名:(尝试过 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

我是否遗漏了任何配置/设置?

编辑

执行/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         

答案1

您必须在 vsftpd 中启用被动模式,并使其监听您的实例的弹性 IP:

  • pasv_enable=是
  • pasv_min_port=1024
  • pasv_max_port=1048
  • 端口启用=是
  • pasv_address=弹性 IP

另外,在服务器的安全组和 Linux 服务器上打开端口 1024-1048。别忘了端口 21 ;)

答案2

如果您只想在 EC2 实例和本地计算机之间传输文件,我认为您不需要安装 FTP 服务器。您可以使用 psftp 或 filezillia 以及您的私钥通过端口 22 安全地连接到您的 EC2 实例。此帖子有分步说明。http://lzw-programmingjourney.blogspot.com/2011/12/set-up-ftp-server-on-amazon-aws-ec2.html

答案3

从日志中可以清楚地看出端口 21 在某种程度上被阻塞了。

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

网络状态监测

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

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

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

答案4

我使用Filezilla登录,并按照以下步骤操作。

要使用 Filezilla 连接到正在运行的 Amazon EC2 实例:

  1. 编辑 -> 设置 -> 连接 -> SFTP 单击“添加密钥文件”

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

  3. 将出现一个消息框,询问您是否允许将文件转换为 ppk 格式。单击“是”,然后为文件命名并将其存储在某个位置。

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

  5. 文件 -> 站点管理器

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

    主机:您的 ec2 实例的公共 DNS 名称

    协议:SFTP

    登录类型: 正常

    用户: ec2-user

按下连接按钮

视频教程:点击这里

相关内容