我试图在亚马逊云服务器上设置FTP,但没有运气。 我在网上搜索,没有具体的步骤如何做到这一点。

我找到了这些命令:

$ yum install vsftpd
$ ec2-authorize default -p 20-21
$ ec2-authorize default -p 1024-1048
$ vi /etc/vsftpd/vsftpd.conf
#<em>---Add following lines at the end of file---</em>
    pasv_enable=YES
    pasv_min_port=1024
    pasv_max_port=1048
    pasv_address=<Public IP of your instance>
$ /etc/init.d/vsftpd restart

但我不知道在哪里写。


当前回答

不要忘记更新你的iptables防火墙,如果你有一个允许20-21和1024-1048范围。

从/etc/sysconfig/iptables执行此操作

像这样添加行:

a INPUT -m state——state NEW -m tcp -p tcp——dport 20:21 -j ACCEPT -A INPUT -m state——state NEW -m tcp -p tcp——dport 1024:1048 -j ACCEPT

然后重新启动iptables:

Sudo服务iptables重启

其他回答

不要忘记更新你的iptables防火墙,如果你有一个允许20-21和1024-1048范围。

从/etc/sysconfig/iptables执行此操作

像这样添加行:

a INPUT -m state——state NEW -m tcp -p tcp——dport 20:21 -j ACCEPT -A INPUT -m state——state NEW -m tcp -p tcp——dport 1024:1048 -j ACCEPT

然后重新启动iptables:

Sudo服务iptables重启

如果你已经启用了ufw,记得添加ftp:

> sudo ufw allow ftp

我花了两天时间才意识到我启用了ufw。

直到你通过下面的命令将你的用户添加到www组中才可以使用:

sudo usermod -a -G www <USER>

这就解决了权限问题。

通过添加这个来设置默认路径:

local_root=/var/www/html

除了clone45的回答之外,也许值得一提的是:

修复vsftpd中root FTP用户的写权限 Ubuntu 12.04 Precise附带的vsftpd版本没有 默认允许chroot本地用户写入。默认情况下是这样的 在/etc/vsftpd.conf文件中: chroot_local_user = YES write_enable = YES 为了允许本地用户写入,需要添加如下参数: allow_writeable_chroot = YES

注意: 写权限的问题可能会出现如下FileZilla错误:

Error: GnuTLS error -15: An unexpected TLS packet was received.
Error: Could not connect to server

引用: 修复vsftpd中root FTP用户的写权限 VSFTPd更新后停止工作

FileZila是一个很好的FTP安装工具。

从https://filezilla-project.org/下载FileZila客户端 单击文件->站点管理器-> 新网站 提供您的亚马逊云位置的主机名IP地址(如果有端口) 协议- SFTP(可根据您的要求更改) 登录类型-普通(系统不会每次都要求输入密码) 提供用户名和密码。 连接。

你只需要做这些步骤1次,以后它会上传内容到相同的IP地址和相同的网站。