使用Filezilla和SFTP连接到Amazon EC2文件目录

问题描述 投票:295回答:13

我创建了一个AWS EC2实例,我希望能够以最简单,最直接的方式使用FileZilla将文件上传到服务器目录。

amazon-web-services amazon-ec2 filezilla
13个回答
697
投票

我已经为这个检查创建了视频教程。

Connect to Amazon EC2 file directory using FileZilla and SFTP, Video Tutorial

以上视频教程摘要:

  1. 编辑(首选项)>设置>连接> SFTP,单击“添加密钥文件”
  2. 浏览到.pem文件的位置并选择它。
  3. 将出现一个消息框,询问您是否允许将文件转换为ppk格式。单击是,然后为文件命名并将其存储在某处。
  4. 如果新文件显示在Keyfiles列表中,则继续执行下一步。如果没有,则单击“添加密钥文件...”并选择转换后的文件。
  5. 文件>站点管理器使用以下参数添加新站点: 主机:ec2实例的公共DNS名称,或服务器的公共IP地址 协议:SFTP 登录类型:正常 用户:来自docs:“对于Amazon Linux,默认用户名是ec2-user。对于RHEL5,用户名通常是root用户,但可能是ec2-user。对于Ubuntu,用户名是ubuntu。对于SUSE Linux,用户名是root。对于Debian,用户名是admin。否则,请咨询您的AMI提供商。“ 按连接按钮 - 如果已禁用保存密码,系统将提示您登录类型将更改为“要求输入密码”。说“确定”,在连接时,在密码提示下按“确定”而不输入密码以继续通过对话框。 注意:FileZilla会自动确定要使用的密钥。如上所述,导入后不需要指定密钥。

如果您使用Cyber​​duck,请关注this

如果您有任何权限问题,请查看this帖子。


0
投票

最简单直接的是创建FTP登录。这是一个关于stackoverflow本身的一个简单易懂的教程网站,如何在2分钟内设置... Setting up FTP on Amazon Cloud Server


0
投票

首先,Filezilla是FTP / SFTP客户端/服务器。我们需要将客户端用于此目的。

1)从URL下载客户端:https://filezilla-project.org/

2)转到AWS管理控制台,然后转到EC2。选择要访问的实例,然后复制实例的DNS或IP地址,然后将其粘贴到Filezilla主机名中。

关注图片:Amazon Instance Access via FileZilla

3)然后,输入您创建的实例的用户名,对于Amazon-ami,它将是ec2-user,对于其他操作系统,它将是不同的。然后,输入密码和端口,它将是21或22。

4)然后,它将询问密钥,其为pem格式,只需选择.pem文件,然后它将确认身份验证。单击是,然后您完成。

注意:在EC2安全组中,允许端口号为21和22,以便访问FTP。


0
投票

您所要做的就是:1。在filezilla上打开站点管理器2.添加新站点3.如果端口不是默认端口,则给出主机地址和端口4.通信类型:SFTP 5.会话类型密钥文件6.输入用户名7。选择密钥文件目录,但要注意Windows文件浏览器查找ppk文件作为默认选择下拉列表中的所有文件然后选择你的pem文件,你很高兴去。

由于您添加新网站并在下次要连接时配置,只需选择已保存的网站并进行连接即可。这就对了。


-5
投票

https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/

  1. 首先,您需要在ec2机器上安装一些ftp服务器,如vsftpd。
  2. 配置vsftpd配置文件以允许写入和打开端口。
  3. 为ftp客户端创建用户。
  4. 与filezilla等ftp客户端连接。

确保在aws安全组上打开端口21。


23
投票

如果您使用pem file(我使用MacOS / windows用户可以按照相同的步骤操作),这非常简单。)

  1. 只需下载你的FileZilla(我正在使用MacOS - 并下载免费版本,这已经足够了)
  2. 在FileZilla中打开站点管理器(⌘S) - >新站点

enter image description here

  1. 将主机名放在“主机”字段中。

示例:eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • 选择Protocol as SFTP - SSH文件传输协议
  • 选择登录类型作为密钥文件
  • 将您的用户名放在用户字段中:对我而言,它是ubuntu(find your ssh user

注意:

操作系统与用户名

亚马逊 - ec2用户

Centos - centos

Debian - 管理员或root

Fedora - ec2用户

RHEL - ec2-user或root

SUSE - ec2-user或root

Ubuntu - ubuntu或root

  1. 对于密钥文件字段,浏览您的pem文件:然后单击连接

enter image description here

  1. 这就是:)玩得开心!

注意:

(请记住允许从EC2连接到您的IP地址的SSH连接)如果不是,您将收到连接错误消息!

注意:允许您的IP通过SFTP连接您的aws实例

EC2 - > SecurityGroups - > SSH - >入站规则 - >编辑 - >添加规则(SSH | TCP | 22 |我的IP(它自动获取IP |规则名称) - >保存


19
投票

如果有人遵循所有步骤并且没有成功,请确保您使用的是正确的用户。我试图使用“ec2-user”,但我需要使用“ubuntu”。


19
投票

确保使用端口22.对于SFTP,Filezilla将默认为端口21。


6
投票

只是井的一个小注释解释了Yasitha Chinthaka的接受答案:

注意:FileZilla会自动确定要使用的密钥。如上所述,导入后不需要指定密钥。

在我的情况下,我已经从过去使用的其他实例中获得了其他5个ppk(新实例的ppk位于该列表的底部)。我添加了新实例的新ppk,它不会让我连接到它。错误消息:尝试/尝试次数过多。

删除未使用的ppks后,我终于能够登录到该实例。

所以不,Filezilla不是那么聪明;-)


3
投票

您可以使用任何FTP客户端。我使用winscp,它工作得很好。在所有这些客户中;您可以指定ssh安全密钥。


2
投票

FileZilla不适合我,我一直收到这个错误:

Disconnected: No supported authentication methods available (server sent: publickey)

什么工作是sftp命令。

使用EC2实例连接

sftp -i "path/to/key.pem" [email protected]

Downloading files / dirs

要下载path/to/source/file.txtpath/to/source/dir

lcd ~/Desktop
cd path/to/source
get file.txt
get -r dir

Uploading files / dirs

要将localpath/to/source/file.txt~/localpath/to/source/dir上传到remotepath/to/dest

lcd localpath/to/source
cd remotepath/to/dest
put file.txt
put -r dir

0
投票

老问题,但我发现,你需要的只是添加ppk文件。设置 - >连接 - > SFTP - >添加密钥文件用户名和主机与使用http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html中提到的putty时提供的内容相同可能会帮助某人。


0
投票

就我而言,Filezilla将AWS ppk文件发送到我尝试安全连接的每个其他FTP服务器。

太疯狂了。下面有一个解决方法,但它很难看。

它表现得并不像@Lucio M指出的那样好。

从这个讨论:https://forum.filezilla-project.org/viewtopic.php?t=30605

你0领取:

同意。但是,鉴于我无法控制服务器的操作,有没有办法在FileZilla中指定一个站点应该使用密码而不是密钥进行身份验证,反之亦然?或者告诉它先尝试密码,然后只在密码失败时才能输入密码?在我看来它首先尝试键,然后没有机会尝试密码。

botg(Filezilla admin)回复:

没有这样的选择。

你0领取:

可以添加这样的选项,还是有任何人可以推荐的好的解决方法?现在,我知道的唯一解决方法是从常规首选项中删除密钥,仅在连接到需要它的特定站点时将其添加回来,然后在完成时再次删除它,这样就不会弄乱其他站点。

botg:

现在,您可以拥有两个具有单独配置目录的FileZilla实例(例如,一个已安装且一个可移植)。

timboskratch:

我今天刚遇到同样的问题,并设法通过在站点管理器中使用密码更改连接的“登录类型”来解决它。而不是“正常”我可以选择“交互式”或“询问密码”(不确定区别是什么)然后当我再次尝试连接到该站点时,它提示我输入我的密码然后连接成功。它并不理想,因为这意味着每次连接时都必须记住并重新输入密码,但比安装2个FileZilla实例要好。我完全同意在站点管理器中完全选择你希望FileZilla如何连接到设置的每个站点(是否使用密码,密钥等)非常有用。希望这有用!蒂姆

另见:https://forum.filezilla-project.org/viewtopic.php?t=34676

所以它看起来:

对于具有密钥/密码的多个FTP站点,使用多个Filezilla安装,或者对所有服务器使用相同的ppk密钥。

我希望有一种方法可以告诉FileZilla哪个ppk适用于Site Manger中的哪个站点

© www.soinside.com 2019 - 2024. All rights reserved.