上传到EC2问题.你是怎么做FTP的?

Sen*_*tia 13 ftp ssh sftp amazon-ec2

我在AWS上设置了一个新的EC2实例,我正在尝试让FTP工作以上传我的应用程序.我已经安装了VSFTPD作为标准,所以我没有更改配置文件中的任何内容(/etc/vsftpd/vsftpd.conf).

我没有在安全组中设置我的端口21,因为我是通过SSH完成的.我这样通过termal登录我的EC2

sudo ssh -L 21:localhost:21 -vi my-key-pair ec2-user@ec2-instance

我打开filezilla并登录到本地主机.在列出目录结构之前,一切都很顺利.我可以登录并且正确,一切看起来都很好,如下所示:

Status: Resolving address of localhost
Status: Connecting to [::1]:21...
Status: Connection established, waiting for welcome message...
Response: 220 Welcome to EC2 FTP service.
Command: USER anonymous
Response: 331 Please specify the password.
Command: PASS ******
Response: 230 Login successful.
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: EPSV
Response: 229 Entering Extended Passive Mode (|||37302|).
Command: LIST
Error: Connection timed out
Error: Failed to retrieve directory listing

我的配置文件中是否缺少某些内容.需要设置或关闭的设置.我认为连接很棒,但是当它超时时你可以想象我的脸.这意味着时间开始拖网尝试并找到答案!现在没有运气.

我正在使用标准的Amazon AMI 64位.我有一个传统的灯具设置.

任何人都可以引导我朝着正确的方向前进吗?我已经阅读了很多关于让它工作的内容,但它们都是不完整的,好像它们在打字如何做到这一点时感到无聊.

我很想听听你们这些人是怎么做的.如果它让生活更轻松.如何将应用程序上传到EC2实例?(步骤请 - 它节省了很多时间,加上它对其他人来说是一个很好的资源.)

Sen*_*tia 37

在Antti Haapala的指导帮助下,我明白了.

您甚至不需要在创建的实例上设置VSFTP.您所要做的就是确保FileZilla中的设置正确.

这就是我做的(我在Mac上,所以它应该在Windows上类似):

  1. 打开文件zilla并转到首选项.
  2. 在首选项下单击sftp并添加新密钥.这是你的ec2实例的密钥对.您必须将其转换为FileZilla使用的格式.它会为您提供转换提示
  3. 点击"确定",然后返回站点管理员
  4. 在站点管理器中输入您的EC2公共地址,这也可以是您的弹性IP
  5. 确保协议设置为SFTP
  6. 输入ec2-user的用户名
  7. 从密码字段中删除所有内容 - 将其设为空白
  8. 全部完成!现在连接.

这就是你现在可以遍历你的EC2系统.有一个问题.因为您以ec2-user身份登录而不是root用户,所以无法修改任何内容.要解决此问题,请更改应用程序所在目录的组所有权(/ var/www/html)或其他任何内容.我会改变它,所以它在EBS卷上.;)还要确保该组具有读写和执行权限.ec2-user的组是ec2-user.让其他人都没有.所以你通过ssh登录时使用的命令

sudo chgrp ec2-user file/folder
sudo chmod 770 file/folder

希望这有助于某人.