我已经创建了一个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,请遵循以下步骤。

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

其他回答

在我的例子中,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是为站点管理器中的哪个站点

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

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

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

这是非常简单的,如果你使用你的pem文件(我使用macOS / windows用户可以遵循相同的步骤)。

下载你的FileZilla(我用的是macOS -下载了免费版,这就足够了) 在FileZilla(⌘S)中打开站点管理器->新站点

在Host字段中输入主机名。

例如:eca -**-**-**- 据美联社-西南- 9. - 111. compute.amazonaws.com

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

注意:

操作系统vs用户名 Amazon - ec2-user Centos - Centos Debian管理员或根用户 Fedora - ec2-user RHEL - ec2用户或root用户 SUSE - ec2-user或root Ubuntu - Ubuntu或root

对于Key file字段,浏览pem文件:并单击Connect

就是这样:)玩得开心!

注意:

(记住允许SSH连接到您的IP地址从EC2)如果不是,您将得到连接错误消息!

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

EC2 -> SecurityGroups -> SSH -> Inbound rules -> Edit -> Add Rule ( SSH|TCP|22|My IP(it's get IP automatically | name for rule) ->保存

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