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

评论

那是什么问题呢?如果您具有SSH / SFTP凭据,只需使用FileZilla并连接到该站点?打开站点管理器,添加您的站点(选择SFTP作为协议)并存储它。每次打开FileZilla时都要使Site Manager打开,因此只需双击Site Manager项。

您的任务栏遇到任何特定的问题/>
嗯,也许您可​​以接受答案?

#1 楼

我为此创建了一个视频教程。只需检查:

使用FileZilla和SFTP,视频教程连接到Amazon EC2文件目录

以上视频教程的摘要:


编辑(首选项)>设置>连接> SFTP,单击“添加密钥文件”
浏览到.pem文件的位置并选择它。
将出现一个消息框,询问您是否允许转换文件格式为ppk格式。单击“是”,然后给该文件起一个名称并将其存储在某个位置。
如果新文件显示在密钥文件列表中,则继续下一步。否则,请单击“添加密钥文件。 “ ..”,然后选择转换后的文件。

文件>站点管理器添加具有以下参数的新站点:

主机:您的EC2实例的公共DNS名称,或者服务器的公共IP地址。

协议:SFTP

登录类型:普通

用户:来自文档:“对于Amazon Linux,缺省用户名为ec2-user。对于RHEL5,用户名通常是root,但可能是ec2-user。对于Ubuntu,用户名是ubuntu。对于SUSE Linux,用户名是root。对于Debian,用户名是admin。否则,请与AMI提供商联系。“

按“连接”按钮-如果已禁用密码保存,则将提示您登录类型将更改为“询问密码”。请单击“确定”。 ',然后在连接时在密码提示下按“确定”,而无需输入密码即可继续通过对话框。

注意:FileZilla会自动找出要使用的密钥。您无需指定密钥按上述说明导入后。


如果您使用Cyber​​duck,请遵循此操作。

如果有任何权限问题,请检查此信息。

评论


对于免费的ubuntu发行版本,用户名将为ubuntu。

–连胜
2014年4月30日10:48在

要添加到上面提到的内容,请确保删除端口文本框中的默认值21(sftp的默认值),因为它似乎可以与端口22一起使用。当我删除端口时,它开始为我工作。

–rahul
14年7月7日在1:01

在斯特拉克那里救了我

–阿布拉姆
15年1月8日,下午3:06

@Yasitha Chinthaka我已执行所有步骤,但无法连接到我的实例。这是Windows Server 2012上的大型实例。感谢您的帮助。我在安全组上添加了SSH的入站规则。自您上次发布此答案以来,是否还需要其他任何配置或更改?

–user2363025
15年4月22日在8:24

无法连接,您得到什么样的错误消息?我没有在Windows服务器上尝试过此操作,但是应该是相同的过程..确保您的用户名正确...

– Yasitha Waduge
15年4月22日在9:18

#2 楼

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


只需下载FileZilla(我在使用MacOS-免费下载版本,就足够了)
在FileZilla中打开站点管理器(⌘S)->新站点




将主机名放在主机字段。


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



选择协议作为SFTP-SSH文件传输协议
选择登录类型作为密钥文件
在“用户”字段中输入您的用户名:对我来说是ubuntu(查找ssh用户)

注意:


OS vs用户名

Amazon-ec2-user

Centos-centos

Debian-管理员或root

Fedora-ec2-user

RHEL-ec2用户或root

SUSE-ec2用户或root

Ubuntu-ubuntu或root



对于“密钥文件”字段,浏览您的pem文件:并单击“连接”




这就是所有的:)玩得开心!

注意:

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

注意:允许IP通过SFTP连接AWS实例


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


评论


filezilla会加密磁盘上的aws密钥还是以纯文本格式存储?

– red888
19年1月21日在22:08

我认为密钥文件已经加密,因此它只是按原样传递文件。未加密。但是,如果您通过Filezilla使用用户名和密码使用普通身份验证,则它们会加密密码。

–埃尔山
19年1月21日在23:06

太好了,但要添加一条注释:我使用IPv4 IP地址代替Host主机名称,而不是使用公共主机名。那是它对我有用的时候。

– Bennybear
19/12/23在5:13

如果无法使用.pem文件,则转换为.ppk。 stackoverflow.com/a/59491738/11000016

– C.K
20/11/23在6:12



对于linux 2,用户是ec2-user

–桑托什
20/12/11在16:27

#3 楼

如果有人按照所有步骤操作都没有成功,请确保您使用的用户正确。我试图使用“ ec2-user”,但我需要使用“ ubuntu”。

评论


我在RedHat上没有成功,用户名是“ ec2-user”。

–注意
18年1月15日在16:14

对于使用Bitnami安装最多的WordPress认证最多的WordPress用户,它位于Ubuntu服务器上,因此用户名ubuntu :)

– PeterHøjlundAndersen
19 Mar 12 '19 at 19:36

#4 楼

确保使用端口22。SFTP的Filezilla默认为端口21。

#5 楼

雅西塔·钦萨卡(Yasitha Chinthaka)的一个很好解释的答案只有一个小注释:


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


对于我来说,我已经从过去使用的其他实例中获得了另外5个ppks (新实例的ppk在该列表的底部)。我添加了新实例的新ppk,但不允许我连接到它。错误消息:尝试/尝试过多。

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

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

评论


这解决了我遇到的一个问题。感谢您发布!

–mnutsch
16 Sep 15'3:24

#6 楼

FileZilla对我不起作用,我一直收到此错误:

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


sftp命令起作用了。

连接EC2具有

sftp -i "path/to/key.pem" ec2-user@ec2-54-212-34-84.us-west-2.compute.amazonaws.com
的实例

下载文件/目录

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

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


上传文件/目录

要将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


评论


Filezilla也有sftp

–埃尔山
19年4月17日在1:01

与filezilla 3.7相同的问题。 sftp命令行工具也对我有用。

– Soheil Pourbafrani
20 Mar 4 '20 at 22:03

Kilian的方法对我有用。 FileZilla方法返回错误:致命错误:没有可用的受支持的身份验证方法(服务器发送:publickey)

–巴里·德西科(Barry DeCicco)
20-11-19在15:49



#7 楼

您可以使用任何FTP客户端。我使用winscp,并且工作正常。在所有这些客户中;您可以指定ssh安全密钥。

#8 楼

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

#9 楼

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

太疯狂了。有一种解决方法,如下所示,但是很丑陋。

@Lucio M指出的那样,它的表现不佳。

来自此讨论:https://forum.filezilla- project.org/viewtopic.php?t=30605

n0lqu:


同意。但是,鉴于我无法控制服务器的操作,是否有任何方法可以在FileZilla中指定站点应使用密码而不是密钥进行身份验证,反之亦然?还是告诉它先尝试输入密码,然后仅在密码输入失败时再输入密码?在我看来,它首先尝试输入密钥,然后没有机会尝试输入密码。


botg(Filezilla admin)回答:


没有这样的选项。


n0lqu:


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

botg:


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


timboskratch:


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


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

因此,似乎:

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

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

#10 楼

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

评论


我在stackoverflow上交叉链接到一个URL。我不认为这是外部链接,对吗?

– Guido _nhcol.com.br_
16年7月6日在0:01

#11 楼

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

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

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

跟随图像:通过FileZilla访问Amazon Instance

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

4)然后,它将要求输入pem格式的密钥,只需选择.pem文件,然后确认身份验证即可。 。单击“是”,然后完成。

注意:在EC2安全组中,允许端口21和22用作FTP访问所需的端口号。

#12 楼

您所要做的就是:
1.在filezilla上打开站点管理器
2.添加新站点
3.如果端口不是默认端口,则提供主机地址和端口
4。通讯类型:SFTP
5.会话类型密钥文件
6.放置用户名
7.选择密钥文件目录,但要注意在Windows文件浏览器中查找ppk文件作为默认文件,然后在下拉菜单中选择所有文件,然后选择您的pem文件,就可以了。

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

评论


Ebuzer,这将导致错误:“致命错误:没有可用的支持的身份验证方法(服务器发送:publickey)”这是Kilian消息的一种变体。

–巴里·德西科(Barry DeCicco)
20-11-19在15:54

#13 楼

如果您习惯使用命令行,并使用git bash从PC SSH到远程服务器(ubuntu等),则可以按以下方式使用sftp,它始终可以很好地工作,并且看起来非常快。可以从aws EC2或Lightsail或任何服务器下载pem文件。在下面的命令中,替换pem文件的路径/名称。还要将IP地址替换为远程服务器的IP地址(例如,远程Unix或linux / ubuntu服务器。)
$ sftp -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2.pem ubuntu @ 123.45.6789
使用sftp实际上传/下载的其他命令
转到远程文件夹
sftp> pwd
sftp> cd / home / ubuntu / mymedia
转到到本地文件夹
sftp> lpwd
本地工作目录:/
lcd / c / Users / pat / Desktop / Camtasia
将本地文件上传到服务器
sftp> put *
,或者如果需要下载到本地PC则使用get
sftp> get *
注意:这类似于使用pem文件连接到远程的ssh。 /> $ ssh -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2.pem ubuntu@123.45.6789
谢谢!

#14 楼

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


首先,您必须在ec2机器上安装一些ftp服务器,例如vsftpd 。
配置vsftpd配置文件以允许写入和打开端口。
为ftp客户端创建用户。
与filezilla之类的ftp客户端连接。

确保打开端口AWS安全组上的21。