我试图在亚马逊云服务器上设置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

但我不知道在哪里写。


当前回答

我一直跟着clone45的答案走到最后。一篇很棒的文章!由于我需要FTP访问权限来为我的一个wordpress站点安装插件,所以我将主目录更改为/var/www/mysitename。然后我继续把我的ftp用户添加到apache(或www)组,就像这样:

sudo usermod -a -G apache myftpuser

在此之后,我仍然在WP的插件安装页面上看到这个错误:“无法定位WordPress内容目录(WP - Content)”。在wp.org的问答环节上搜索并找到了这个解决方案:https://wordpress.org/support/topic/unable-to-locate-wordpress-content-directory-wp-content,并在wp-config.php的末尾添加了以下内容:

if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}

在此之后,我的WP插件安装成功。

其他回答

除了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更新后停止工作

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

> sudo ufw allow ftp

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

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

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

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

我简化了clone45步骤:

按他说的打开端口

sudo su
sudo yum install vsftpd
echo -n "Public IP of your instance: " && read publicip
echo -e "anonymous_enable=NO\npasv_enable=YES\npasv_min_port=1024\npasv_max_port=1048\npasv_address=$publicip\nchroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf
sudo /etc/init.d/vsftpd restart

要在EC2服务器上启用被动ftp,您需要配置ftp服务器用于入站连接的端口,然后打开用于ftp客户端数据连接的可用端口列表。

我对linux不是很熟悉,但是你发布的命令是安装ftp服务器的步骤,配置ec2防火墙规则(通过AWS API),然后配置ftp服务器以使用ec2防火墙上允许的端口。

因此这一步安装ftp客户端(VSFTP)

> yum安装VSFTPD

配置ftp客户端的步骤如下

> vi /etc/vsftpd/vsftpd.conf
--    Add following lines at the end of file --
     pasv_enable=YES
     pasv_min_port=1024
     pasv_max_port=1048
     pasv_address=<Public IP of your instance> 
> /etc/init.d/vsftpd restart

但是其他两个步骤更容易通过EC2安全组下的amazon控制台完成。您需要配置分配给服务器的安全组,以允许端口20、21和1024-1048上的连接