【问题标题】:Connect to Amazon EC2 file directory using Filezilla and SFTP使用 Filezilla 和 SFTP 连接到 Amazon EC2 文件目录
【发布时间】:2013-05-20 15:20:09
【问题描述】:

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

【问题讨论】:

  • 那么问题是什么?如果您有 SSH/SFTP 凭据,只需使用 FileZilla 并连接到该站点?打开站点管理器,添加您的站点(选择 SFTP 作为协议)并存储它。每次打开 FileZilla 时都会打开站点管理器,因此您只需双击站点管理器项。
  • 您的任务有什么具体问题吗?

标签: amazon-web-services amazon-ec2 filezilla


【解决方案1】:

我为此创建了一个视频教程。只需检查:

Connect to Amazon EC2 file directory using FileZilla and SFTP, Video Tutorial

以上视频教程总结:

  1. 编辑(首选项)>设置>连接> SFTP,点击“添加密钥文件”
  2. 浏览到 .pem 文件所在的位置并选择它。
  3. 将出现一个消息框,询问您是否允许将文件转换为 ppk 格式。单击是,然后为文件命名并将其存储在某处。
  4. 如果新文件显示在密钥文件列表中,则继续下一步。如果没有,请单击“添加密钥文件...”并选择转换后的文件。
  5. 文件 > 站点管理器使用以下参数添加新站点:

    主机:您的 EC2 实例的公有 DNS 名称,或服务器的公有 IP 地址。

    协议:SFTP

    登录类型:普通

    用户:来自docs:“对于 Amazon Linux,默认用户名是 ec2-user。对于 RHEL5,用户名通常是 root,但可能是 ec2-user。对于 Ubuntu,用户名为 ubuntu。对于 SUSE Linux,用户名为 root。对于 Debian,用户名为 admin。否则,请咨询您的 AMI 提供商。”

    按下连接按钮 - 如果已禁用保存密码,系统将提示您将登录类型更改为“询问密码”。说“确定”并在连接时,在密码提示下按“确定”而不输入密码以继续通过对话框。

    注意: FileZilla 会自动确定要使用的密钥。如上所述导入后无需指定密钥。

如果您使用 Cyber​​duck,请关注 this

如果您有任何权限问题,请查看this 帖子。

【讨论】:

  • 对于免费的 ubuntu 发行版,用户名将是 ubuntu。
  • 要添加到上面提到的内容,请确保删除端口文本框中的默认值 21(sftp 的默认值),因为它似乎适用于端口 22。当我删除时它开始为我工作港口。
  • 救了我@streak
  • @Yasitha Chinthaka 我已按照所有步骤操作,但无法连接到我的实例。它是 Windows server 2012 上的一个大型实例。任何帮助表示赞赏。我在我的安全组上添加了 SSH 的入站规则。自您上次发布此答案以来,是否需要任何其他配置或更改?
  • 无法连接,您收到什么样的错误消息?虽然我没有在 Windows 服务器上尝试过,但应该是相同的过程.. 确保您的用户名是正确的...
【解决方案2】:

如果您使用pem file,这非常简单(我使用的是 macOS / windows 用户可以按照相同的步骤进行操作。)

  1. 只需下载您的FileZilla(我使用的是 macOS - 并下载了免费版本,这就足够了)

  2. 在 FileZilla (⌘S) 中打开 站点管理器 -> 新建站点

  1. 将您的主机名输入到 Host 字段中。

示例:eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • 选择协议为 SFTP - SSH 文件传输协议

  • 选择登录类型为密钥文件

  • 将您的用户名放在 User 字段中:对我来说是 ubuntu (find your ssh user)

注意:

操作系统与用户名

亚马逊 - ec2 用户

Centos - centos

Debian - 管理员或根

Fedora - ec2 用户

RHEL - ec2-user 或 root

SUSE - ec2-user 或 root

Ubuntu - ubuntu 或 root

  1. 对于密钥文件字段,浏览您的 pem 文件:并单击连接

  1. 就是这样 :) 玩得开心!

注意:

(请记住允许从 EC2 与您的 IP 地址建立 SSH 连接)如果不允许,您将收到连接错误消息!

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

EC2 -> 安全组 -> SSH -> 入站规则 -> 编辑 -> 添加规则 ( SSH|TCP|22|我的IP(自动获取IP|规则名称)->保存

【讨论】:

  • filezilla 是加密磁盘上的 aws 密钥还是以纯文本形式存储?
  • 我认为密钥文件已经加密,因此它只是按原样传递文件。未加密。但是,如果您使用 Filezilla 的用户名和密码进行普通身份验证,那么它们会加密密码。
  • 这很好,但想补充一点:我没有使用公共主机名,而是使用 IPv4 IP 地址作为主机输入。那时它对我有用。
  • 对于 linux 2,用户是 ec2-user
  • 对于使用 WordPress Bitnami 映像的 AWS,我的用户名是 ubuntu
【解决方案3】:

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

【讨论】:

  • 我在 RedHat 上没有成功,用户名为“ec2-user”。
  • 对于最常用的 WordPress 经 Bitnami 认证安装的 WordPress 用户,它位于 Ubuntu 服务器上,因此用户名 ubuntu :)
【解决方案4】:

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

【讨论】:

    【解决方案5】:

    对解释清楚的公认答案只有一个小注释 Yasitha Chinthaka:

    注意:FileZilla 会自动确定要使用的密钥。你不 如前所述,导入后需要指定密钥。

    在我的情况下,我已经从过去使用的其他实例中获得了另外 5 个 ppk(新实例的 ppk 位于该列表的底部)。我添加了新实例的新 ppk,但它不允许我连接到它。错误消息:尝试次数过多。

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

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

    【讨论】:

    • 这解决了我遇到的一个问题。感谢发布!
    【解决方案6】:

    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.txtpath/to/source/dir

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

    上传文件/目录

    上传localpath/to/source/file.txt~/localpath/to/source/dirremotepath/to/dest

    lcd localpath/to/source
    cd remotepath/to/dest
    put file.txt
    put -r dir
    

    【讨论】:

    • Filezilla 也有 sftp
    • filezilla 3.7 相同的问题。 sftp 命令行工具也对我有用。
    • Kilian 的方法对我有用。 FileZilla 方法返回错误:FATAL ERROR: No supported authentication methods available (server sent: publickey)
    【解决方案7】:

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

    【讨论】:

      【解决方案8】:

      老问题,但我发现,您只需要添加 ppk 文件即可。 设置 -> 连接 -> SFTP -> 添加密钥文件 用户名和主机与使用 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html 中提到的 putty 时提供的相同 可能会帮助某人。

      【讨论】:

        【解决方案9】:

        就我而言,Filezilla 将 AWS ppk 文件发送到我尝试安全连接的所有其他 FTP 服务器。

        这太疯狂了。有一个如下所述的解决方法,但它很难看。

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

        来自本次讨论:https://forum.filezilla-project.org/viewtopic.php?t=30605

        n0lqu:

        同意。但是,鉴于我无法控制服务器的操作,有没有办法在 FileZilla 中指定站点应该使用密码而不是密钥进行身份验证,反之亦然?还是告诉它先尝试密码,然后只有在密码失败时才输入密码?在我看来它是先尝试密钥,然后没有机会尝试密码。

        botg(Filezilla 管理员) 回复:

        没有这样的选择。

        n0lqu:

        是否可以添加这样的选项,或者是否有任何人可以推荐的好的解决方法?目前,我知道的唯一解决方法是从一般首选项中删除密钥,仅在连接到需要它的特定站点时将其添加回来,然后在完成后再次删除它,以免弄乱其他站点。

        博格:

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

        timboskratch:

        我今天也遇到了同样的问题,并设法通过在站点管理器中使用密码更改连接的“登录类型”来解决它。而不是“正常”,我可以选择“交互式”或“询问密码”(不太确定有什么区别),然后当我再次尝试连接到该站点时,它提示我输入密码然后连接成功地。 这并不理想,因为这意味着您每次连接时都必须记住并重新输入密码,但比安装 2 个 FileZilla 实例要好。 我完全同意,如果您希望 FileZilla 如何连接到已设置的每个站点(是否使用密码、密钥等),站点管理器中的完整选项将非常有用。 希望这有帮助! 蒂姆

        另见: https://forum.filezilla-project.org/viewtopic.php?t=34676

        看来:

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

        我希望有一种方法可以告诉 FileZilla 哪个 ppk 适用于 Site Manger 中的哪个站点

        【讨论】:

          【解决方案10】:

          最简单直接的方法是创建一个 FTP 登录。 这是一个关于stackoverflow本身的简单易懂的教程站点,如何在2分钟内完成设置...... Setting up FTP on Amazon Cloud Server

          【讨论】:

          • 我在 stackoverflow 上交叉链接到一个 url。我不认为这是一个外部链接,对吗?
          【解决方案11】:

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

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

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

          关注图片:Amazon Instance Access via FileZilla

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

          4) 然后,它会询问密钥,它是 pem 格式的,只需选择 .pem 文件,然后它会确认身份验证。点击是,然后你就完成了。

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

          【讨论】:

            【解决方案12】:

            您所要做的就是: 1.在filezilla上打开站点管理器 2.添加新站点 3. 如果端口不是默认端口,则给出主机地址和端口 4.通讯方式:SFTP 5.会话类型密钥文件 6.输入用户名 7. 选择关键文件目录,但要注意 Windows 文件资源管理器默认查找 ppk 文件 选择下拉列表中的所有文件,然后选择您的 pem 文件,一切顺利。

            由于您添加了新站点并在下次要连接时进行了配置,因此只需选择您保存的站点并连接即可。就是这样。

            【讨论】:

            • Ebuzer,这会导致错误:“FATAL ERROR: No supported authentication methods available (server sent: publickey)” 这是 Kilian 消息的变体。
            【解决方案13】:

            如果您习惯使用命令行,并使用 git bash 从您的 PC SSH 到远程服务器(ubuntu 等),您可以使用 sftp,如下所示,效果很好,而且看起来非常快。 pem 文件可以从 aws EC2 或 Lightsail 或任何服务器下载。在下面的命令中替换 pem 文件的路径/名称。还将IP地址替换为远程服务器的IP地址[比如远程Unix或linux/ubuntu服务器。]

            $ sftp -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2.pem ubuntu@123.45.6789

            使用 sftp 实际上传/下载的附加命令 转到远程文件夹 sftp>密码 sftp> cd /home/ubuntu/mymedia

            转到本地文件夹 sftp> lpwd 本地工作目录:/ sftp> lcd /c/Users/pat/Desktop/Camtasia 将本地文件上传到服务器 sftp> 放 *
            或者,如果您需要下载到本地 PC,请使用 get sftp> 得到 *

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

            谢谢!

            【讨论】:

              【解决方案14】:

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

              在终端执行命令:

              ssh-keygen

              它会提示你输入私钥和公钥文件的目标路径,默认是

              /home/user/.ssh/id_rsa/home/user/.ssh/id_rsa.pub

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

              cat .ssh/id_rsa.pub

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

              nano .ssh/authorized_keys

              您可能会在其中看到一些当前行,例如“ssh-rsa AAAAB3Nz...”。没关系。只需输入新行并粘贴之前复制的行即可。

              【讨论】:

                【解决方案15】:

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

                1. 首先,您必须在您的 ec2 机器上安装一些 ftp 服务器,例如 vsftpd。
                2. 配置 vsftpd 配置文件以允许写入和打开端口。
                3. 为 ftp 客户端创建用户。
                4. 与 filezilla 等 ftp 客户端连接。

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

                【讨论】:

                  猜你喜欢
                  • 2014-10-25
                  • 2023-04-03
                  • 2016-10-18
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-05-23
                  • 2015-06-28
                  • 1970-01-01
                  • 2018-10-31
                  相关资源
                  最近更新 更多