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


当前回答

我为此制作了一个视频教程。只是检查:

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

以上视频教程总结:

Edit (Preferences) > Settings > Connection > SFTP, Click "Add key file” Browse to the location of your .pem file and select it. A message box will appear asking your permission to convert the file into ppk format. Click Yes, then give the file a name and store it somewhere. If the new file is shown in the list of Keyfiles, then continue to the next step. If not, then click "Add keyfile..." and select the converted file. File > Site Manager Add a new site with the following parameters: Host: Your public DNS name of your EC2 instance, or the public IP address of the server. Protocol: SFTP Logon Type: Normal User: From the docs: "For Amazon Linux, the default user name is ec2-user. For RHEL5, the user name is often root but might be ec2-user. For Ubuntu, the user name is ubuntu. For SUSE Linux, the user name is root. For Debian, the user name is admin. Otherwise, check with your AMI provider." Press Connect Button - If saving of passwords has been disabled, you will be prompted that the logon type will be changed to 'Ask for password'. Say 'OK' and when connecting, at the password prompt push 'OK' without entering a password to proceed past the dialog. Note: FileZilla automatically figures out which key to use. You do not need to specify the key after importing it as described above.

如果你使用Cyberduck,请遵循以下步骤。

如果你有任何权限问题,请查看这篇文章。

其他回答

如果你习惯使用命令行,并且使用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登录。 这是一个关于stackoverflow本身的简单易懂的教程网站,如何在2分钟内完成设置… 在亚马逊云服务器上设置FTP

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

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

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

在我的例子中,Filezilla将AWS ppk文件发送到我试图安全连接的每个其他FTP服务器。

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

正如@Lucio M指出的那样,它的表现并不好。

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

n0lqu:

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

Filezilla admin回复:

没有这样的选择。

n0lqu:

是否可以添加这样的选项,或者是否有任何人都可以推荐的好的变通方法?目前,我所知道的唯一解决办法是从一般首选项中删除键,只有在连接到需要它的特定网站时才添加它,然后在完成后再次删除它,这样它就不会扰乱其他网站。

botg:

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

Timboskratch:

I just had this same issue today and managed to resolve it by changing the "logon type" of the connection using a password in the site manager. Instead of "Normal" I could select either "Interactive" or "Ask for Password" (not really sure what the difference is) and then when I tried to connect to the site again it gave me a prompt to enter my password and then connected successfully. It's not ideal as it means you have to remember and re-type you password every time you connect, but better than having to install 2 instances of FileZilla. I totally agree that it would be very useful in the Site Manager to have full options of how you would like FileZilla to connect to each site which is set up (whether to use a password, key, etc.) Hope this is helpful! Tim

还看到: https://forum.filezilla-project.org/viewtopic.php?t=34676

所以,看起来:

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

我希望有一种方法告诉FileZilla哪个ppk是为站点管理器中的哪个站点