Amazon EC2实例上的vsFTPd

任何人可以提供任何build议。 我有一个基于64位Amazon Linux AMI的Amazon EC2实例正在运行。 我已经使用yum安装了所有更新,并安装了PHP5.3和vsFTPd服务。

我创build了一个新的用户组和一个新用户,给用户一个密码,并为新组所拥有的web php文件创build了html文件夹。 在这方面的一切工作正常。 在vi中创build一个php文件,该页面在浏览器中可见。

现在我已经启动了vsFTPd服务器,一切正常。 我几乎可以立即从terminal屏幕连接到它,但是做ls -l需要很长时间才能返回。

从FTP软件连接,它可能需要60秒以上的连接,改变文件夹时相同。 然后,当您尝试上传文件时,有时候它会继续,并且似乎总是创build文件夹,但是超时或断开连接并且不会重新启动。 取消传输,并重新设置,并重新连接好。

任何人都可以提供什么错误的任何想法? 我已经尝试在FTP客户端上启用和closures被动模式,但是没有任何区别。 我没有看到它的连接可能是错误的,并在超时之前传输一些小文本文件。

任何想法或build议将是非常有益的,如果你们可以! 我没有想法!

一个可能导致vsFTPdfunction不佳的因素是你的防火墙规则集。 对于典型的FTP会话,您将需要使用被动FTP(通常在用户的设置(包括他们使用的程序和防火墙)上工作得更好)。

为此,您需要打开端口20,21以及您在vsftpdconfiguration中指定的任何端口。

在vsftpd中,您可以通过设置pasv_min_port和pasv_max_port值来configuration被动端口范围。 这使您可以使用被动FTP,同时允许他们轻松地使用EC2实施的防火墙。

你应该select10000以上的端口 – 理想情况是随机的。 你将需要更多的用户端口,所以如果你是唯一的用户,你应该只能保持2或3端口打开(例如最小:15243,最大:15245) – 我相信它通常是每个连接一个端口但用户通常可以build立多于一个的同时连接,即使不太可能)

如果您的服务器上运行着防火墙(例如shorewall),则需要configuration该防火墙(同时,您的iptables规则需要允许在您指定的端口上进行FTP连接)。 在EC2结束的事情上,您需要打开您的实例正在运行的安全组中适当的端口。 从我的方法在亚马逊的Linux上用vsftpd设置被动FTP的方法还有几点可以在这里find。

在AMAZON LINUX VIA SFTP中设置vsFTPD服务器

  1. 更新“yum”存储库

    sudo yum更新-y

  2. 从yum存储库安装vsFTPD服务器

    sudo yum install vsftpd -y

  3. configurationvsFTPD服务器的基本设置

    sudo vi /etc/vsftpd/vsftpd.conf

    一个。 在文件中进行下面的更改并保存我。 禁用匿名用户anonymous_enable = NO ii。 允许本地用户,这意味着vsFTPD服务器将使用Linux系统用户和身份validation来确定谁可以loginlocal_enable = YES iii。 允许本地用户WRITE访问,以便他们可以上传资料并修改内容write_enable = YES iv。 将用户限制到各自的主目录chroot_local_user = YES v。基本的vsFTPD相关更改pasv_enable = YES pasv_min_port = 1024 pasv_max_port = 1048 pasv_address =

  4. 创build一个FTP用户

    sudo adduser ftpuser

  5. 为新用户分配一个密码

    sudo passwd ftpuser

  6. 使用vsFTPD服务器configurationSSL a。 创build一个子目录来存储文件#sudo mkdir / etc / ssl / private

    湾 在单个文件中创build证书和密钥#sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

    C。 将SSL详细信息添加到vsftpdconfiguration文件#sudo vi /etc/vsftpd/vsftpd.conf

    i. Specify the location of the certificate and key files rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ii. Enable the use of the files, disable anonymous users and force the use of SSL for both data transfer and login routines ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES iii. Restrict the type of connection to TLS, which is more secure than SSL ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO ssl_ciphers=HIGH 
  7. 重新启动vsFTPD服务器以启用我们的更改

    sudo /etc/init.d/vsftpd restart

  8. 每次重启都会自动启动vsFTPD服务器

    sudo chkconfig vsftpd on