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


当前回答

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

首先,你必须在ec2机器上安装一些ftp服务器,比如vsftpd。 配置vsftpd配置文件允许写入和开放端口。 创建ftp客户端用户。 连接ftp客户端,如filezilla。

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

其他回答

如果你习惯使用命令行,并且使用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

谢谢!

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

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

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

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

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

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

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

对于Ubuntu用户来说,有另一种不需要PuttyGen的方法来制作和设置密钥。我假设您可以通过终端连接到服务器,并希望设置FileZilla用于文件传输。

在终端执行命令:

ssh - keygen

它将提示您输入私钥和公钥文件的目标路径,默认情况下为

/ home /用户。ssh/id_rsa和/home/user/ ssh/ rsa酒吧

你可以让它保持原样。然后,打开公钥并复制其内容:

猫的. ssh / id_rsa . pub

在终端中,在服务器端,打开.ssh/authorized_keys并粘贴复制的行:

nano . ssh / authorized_keys

您可能会看到一些当前行,如“ssh-rsa AAAAB3Nz…”。没关系。简单地放置新行,并粘贴之前复制的行。