我创建了一个AWS EC2实例,想要以最简单、最直接的方式使用FileZilla将文件上传到服务器目录。
我创建了一个AWS EC2实例,想要以最简单、最直接的方式使用FileZilla将文件上传到服务器目录。
我已经为此创建了一个视频教程。请查看:
使用FileZilla和SFTP连接到Amazon EC2文件目录,视频教程
以上视频教程的摘要:
文件 > 站点管理器 使用以下参数添加一个新站点:
主机:EC2实例的公共DNS名称或服务器的公共IP地址。
协议:SFTP
登录类型:正常
用户:根据文档:“对于Amazon Linux,默认用户名为ec2-user。 对于RHEL5,用户名通常为root,但可能是ec2-user。对于Ubuntu,用户名是ubuntu。对于SUSE Linux,用户名是root。 对于Debian,用户名是admin。否则,请与您的AMI提供商确认。”
按下连接按钮 - 如果禁用密码保存,则会提示您将登录类型更改为“请求密码”。 确定后,在连接时,在密码提示中按“确定”而不输入密码即可继续进行。
注意:FileZilla会自动找到要使用的密钥,您无需在按照上述步骤导入后指定密钥。
如果您使用Cyberduck,请参考此视频。
如果您遇到任何权限问题,请查看此篇文章。
pem文件
(我使用macOS/Windows用户可以按照相同步骤操作),这非常简单。
只需下载您的FileZilla(我使用macOS-下载了免费版本,已足够好)
在FileZilla中打开站点管理器(⌘S)->新建站点
示例:
eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com
选择协议为SFTP-SSH文件传输协议
选择登录类型为密钥文件
在用户字段中输入用户名:对于我来说,是ubuntu (找到您的ssh用户)
注意:
操作系统vs用户名
Amazon - ec2-user
Centos - centos
Debian - admin或root
Fedora - ec2-user
RHEL - ec2-user或root
SUSE - ec2-user或root
Ubuntu - ubuntu或root
注意:
(记得允许来自EC2的IP地址的SSH连接),否则您将收到连接错误消息!
注意:允许您的IP通过SFTP连接到AWS实例
EC2 -> 安全组 -> SSH -> 入站规则 -> 编辑 -> 添加规则 ( SSH|TCP|22|我的IP(它会自动获取IP | 规则名称) -> 保存
ec2-user
。 - Santosh确保使用22端口。Filezilla默认将SFTP设置为21端口。
对于Yasitha Chinthaka的答案,我只有一个小注释:
注意:FileZilla会自动识别要使用的密钥。您不需要在上述导入后指定密钥。
在我的情况中,我已经有来自其他实例的5个ppk,并且在过去我一直在使用它们(新实例的ppk位于该列表的底部)。 我添加了新实例的ppk,但无法连接到它。错误消息是:尝试次数太多。
删除未使用的ppk后,我终于能够登录该实例。
因此,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.txt
和 path/to/source/dir
:
lcd ~/Desktop
cd path/to/source
get file.txt
get -r dir
要将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 3.7
也有同样的问题。对我来说,sftp
命令行工具也起作用了。 - Soheil Pourbafrani你可以使用任何FTP客户端。我使用的是WinSCP,它很好用。在所有这些客户端中,你都可以指定ssh安全密钥。
在我的情况下,Filezilla将AWS ppk文件发送到我尝试安全连接的每个其他FTP服务器。
这太疯狂了。如下所述,有一个解决方法,但很丑陋。
正如@Lucio M指出的那样,它的行为不好。
来自此讨论:https://forum.filezilla-project.org/viewtopic.php?t=30605
n0lqu:
同意。但是,考虑到我无法控制服务器的操作,是否有任何方法可以在FileZilla中指定站点应使用密码进行身份验证而不是密钥,或者反之亦然?或者告诉它首先尝试密码,然后仅在密码失败时尝试密钥?我觉得它首先尝试密钥,然后没有机会尝试密码。
botg(Filezilla管理员)回答:
没有这样的选项。
n0lqu:
这种选项能否添加,或者有没有好的解决方法可以推荐?目前我知道的唯一解决方法是从常规设置中删除该密钥,在连接到需要它的特定站点时将其添加回来,然后在完成操作后再次将其删除,以避免影响其他站点。虽然这是一个老问题,但我发现,你只需要添加ppk文件即可。 设置 -> 连接 -> SFTP -> 添加密钥文件 用户名和主机与使用putty时提供的相同,这在http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html中有提到。 希望能对某些人有所帮助。
最简单和直接的方法是创建FTP登录。以下是一个小而易于理解的教程网站,可以在stackoverflow上设置FTP,只需2分钟即可完成... 在Amazon云服务器上设置FTP