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


当前回答

如果你习惯使用命令行,并且使用git bash从你的PC上ssh到远程服务器(ubuntu等),你可以使用如下所示的sftp,它总是很有效,而且看起来非常快。pem文件可以从aws EC2或Lightsail或任何服务器下载。在以下命令中替换pem文件的路径/namd。还要将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 本地工作目录:/ sftp> lcd /c/Users/pat/Desktop/Camtasia . sftp 上传本地文件到服务器 Sftp > put * 如果需要下载到本地PC,可以使用get Sftp > get *

注意:这类似于ssh使用pem文件连接到远程。 $ ssh -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2。pem ubuntu@123.45.6789

谢谢!

其他回答

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

你所要做的就是: 1. 在filezilla上打开站点管理器 2. 添加新站点 3.如果端口不是默认端口,请给出主机地址和端口 4. 通信类型:SFTP 5. 会话类型密钥文件 6. 把用户名 7. 选择关键文件目录,但注意Windows文件资源管理器寻找PPK文件作为默认选择下拉菜单上的所有文件,然后选择你的pem文件,你就很好了。

因为你添加了新的网站和配置下次当你想连接时,只需选择你保存的网站和连接。就是这样。

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

下载文件/ dirs

下载路径/ To /source/file.txt和路径/ To /source/dir:

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

上传文件/ 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

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

1)客户端下载地址:https://filezilla-project.org/

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

下面的图片:亚马逊实例访问通过FileZilla

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

4)然后,它会要求密钥,它是pem格式的,只需选择.pem文件,然后它会确认身份验证。单击Yes,然后完成。

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

对于已被广泛接受的答案,有一个小小的说明 Yasitha Chinthaka:

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

在我的例子中,我已经从我过去使用的其他实例中获得了其他5个ppk(新实例的ppk位于列表的底部)。我添加了新实例的新ppk,但它不让我连接到它。错误信息:too many tries / attempts。

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

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