我已经创建了一个AWS EC2实例,并且希望能够以最简单,最直接的方式使用FileZilla将文件上传到服务器目录。
我已经创建了一个AWS EC2实例,并且希望能够以最简单,最直接的方式使用FileZilla将文件上传到服务器目录。
Answers:
我为此创建了一个视频教程。只需检查:
使用FileZilla和SFTP连接到Amazon EC2文件目录,视频教程
上面的视频教程摘要:
文件>站点管理器添加具有以下参数的新站点:
主机:您的EC2实例的公共DNS名称,或服务器的公共IP地址。
通讯协定:SFTP
登录类型:正常
用户:来自文档:“对于Amazon Linux,默认用户名是ec2-user。对于RHEL5,用户名通常是root,但是可能是ec2-user。对于Ubuntu,用户名是ubuntu。对于SUSE Linux,该用户名是用户名是root。对于Debian,用户名是admin。否则,请与AMI提供程序联系。”
按下“连接”按钮-如果已禁用密码保存,则会提示您登录类型将更改为“询问密码”。说“确定”,然后在连接时在密码提示下按“确定”,而无需输入密码以继续进行对话框。
注意: FileZilla自动找出要使用的密钥。如上所述,导入密钥后无需指定密钥。
如果您使用Cyberduck,请遵循此步骤。
如果您有任何权限问题,请查看此帖子。
如果您使用过的话,这非常简单pem file
(我在使用MacOS / windows用户可以遵循相同的步骤。)
只需下载您的FileZilla(我正在使用MacOS-并下载了免费版本,就足够了)
在FileZilla(⌘S)-> 新站点中打开站点管理器
例:
eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com
选择协议作为SFTP-SSH文件传输协议
选择登录类型作为密钥文件
将您的用户名放在“ 用户”字段中:对我来说,这是ubuntu(找到您的ssh用户)
注意:
操作系统与用户名
亚马逊-EC2用户
Centos-centos
Debian-管理员或root
Fedora-EC2用户
RHEL-EC2用户或root
SUSE-EC2用户或root
Ubuntu-Ubuntu或root
注意:
(请记住,允许从EC2通过SSH连接到您的IP地址)如果没有,您将收到连接错误消息!
注意:允许您的IP通过SFTP连接AWS实例
EC2-> SecurityGroups-> SSH->入站规则->编辑->添加规则(SSH | TCP | 22 |我的IP(它会自动获得ip |规则名称)->保存
如果有人按照所有步骤操作都没有成功,请确保您使用的用户正确。我试图使用“ ec2-user”,但是我需要使用“ ubuntu”。
Yasitha Chinthaka的一个很好的解释得到了公认的答案,其中只有一个小注释:
注意:FileZilla自动找出要使用的密钥。如上所述,导入密钥后无需指定密钥。
就我而言,我已经从过去使用的其他实例中获得了另外5个ppks(新实例的ppk在该列表的底部)。我添加了新实例的新ppk,但不允许我连接到它。错误消息:尝试次数过多。
删除未使用的ppks之后,我终于能够登录到该实例。
所以不,Filezilla不是那么聪明;-)
您可以使用任何FTP客户端。我使用winscp,它工作正常。在所有这些客户中;您可以指定ssh安全密钥。
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.txt
和path/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 3.7
。sftp命令行工具也对我有用。
老问题了,但是我发现的是,您所需要的只是添加ppk文件。设置->连接-> SFTP->添加密钥文件用户名和主机与http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-中提到的使用腻子时提供的名称和主机相同connect-to-instance-linux.html 可以帮助某人。
就我而言,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连接到已设置的每个站点的完整选项(是否使用密码,密钥等)将非常有用(希望使用此功能)!提姆
另请参阅:https : //forum.filezilla-project.org/viewtopic.php?t=34676
所以它看起来:
对于具有密钥/密码的多个FTP站点,请使用多个Filezilla安装,或者对所有服务器使用相同的ppk密钥。
我希望有一种方法可以告诉FileZilla Site Manager中的哪个ppk用于哪个站点
最简单直接的方法是创建FTP登录。这是一个关于Stackoverflow本身的简单易懂的教程网站,如何在2分钟内完成设置 ... 在Amazon Cloud Server上设置FTP
首先,Filezilla是FTP / SFTP客户端/服务器。为此,我们需要使用客户端。
1)从URL下载客户端:https : //filezilla-project.org/
2)转到AWS管理控制台,然后转到EC2。选择您要访问的实例,然后复制该实例的DNS或IP地址,然后将其粘贴到Filezilla主机名中。
3)然后,输入您创建的实例的用户名,对于Amazon-ami,它将是ec2-user,对于其他OS,它将是不同的。然后,输入密码和端口号(21或22)。
4)然后,它将要求输入密钥(pem格式),只需选择.pem文件,然后将确认身份验证。单击是,然后完成。
注意:在EC2安全组中,允许使用端口号21和22,以进行FTP访问。
所有您需要做的是:1.在Filezilla上打开站点管理器2.添加新站点3.如果端口不是默认端口,则提供主机地址和端口4.通信类型:SFTP 5.会话类型密钥文件6.输入用户名7。选择关键文件目录,但是要当心Windows文件浏览器将ppk文件作为默认文件,在下拉菜单中选择所有文件,然后选择您的pem文件,您就可以使用了。
由于您添加新站点并在下次要配置时进行配置,因此只需选择保存的站点并进行连接即可。这就对了。
https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/
确保打开aws安全组上的端口21。