我创建了一个AWS EC2实例,我希望能够以最简单,最直接的方式使用FileZilla将文件上传到服务器目录。
我已经为这个检查创建了视频教程。
Connect to Amazon EC2 file directory using FileZilla and SFTP, Video Tutorial
以上视频教程摘要:
如果您使用Cyberduck,请关注this。
如果您有任何权限问题,请查看this帖子。
最简单直接的是创建FTP登录。这是一个关于stackoverflow本身的一个简单易懂的教程网站,如何在2分钟内设置... Setting up FTP on Amazon Cloud Server
首先,Filezilla是FTP / SFTP客户端/服务器。我们需要将客户端用于此目的。
1)从URL下载客户端: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安全组中,允许端口号为21和22,以便访问FTP。
您所要做的就是:1。在filezilla上打开站点管理器2.添加新站点3.如果端口不是默认端口,则给出主机地址和端口4.通信类型:SFTP 5.会话类型密钥文件6.输入用户名7。选择密钥文件目录,但要注意Windows文件浏览器查找ppk文件作为默认选择下拉列表中的所有文件然后选择你的pem文件,你很高兴去。
由于您添加新网站并在下次要连接时配置,只需选择已保存的网站并进行连接即可。这就对了。
https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/
确保在aws安全组上打开端口21。
如果您使用pem file
(我使用MacOS / windows用户可以按照相同的步骤操作),这非常简单。)
示例:
eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com
注意:
操作系统与用户名
亚马逊 - ec2用户
Centos - centos
Debian - 管理员或root
Fedora - ec2用户
RHEL - ec2-user或root
SUSE - ec2-user或root
Ubuntu - ubuntu或root
注意:
(请记住允许从EC2连接到您的IP地址的SSH连接)如果不是,您将收到连接错误消息!
注意:允许您的IP通过SFTP连接您的aws实例
EC2 - > SecurityGroups - > SSH - >入站规则 - >编辑 - >添加规则(SSH | TCP | 22 |我的IP(它自动获取IP |规则名称) - >保存
如果有人遵循所有步骤并且没有成功,请确保您使用的是正确的用户。我试图使用“ec2-user”,但我需要使用“ubuntu”。
确保使用端口22.对于SFTP,Filezilla将默认为端口21。
只是井的一个小注释解释了Yasitha Chinthaka的接受答案:
注意:FileZilla会自动确定要使用的密钥。如上所述,导入后不需要指定密钥。
在我的情况下,我已经从过去使用的其他实例中获得了其他5个ppk(新实例的ppk位于该列表的底部)。我添加了新实例的新ppk,它不会让我连接到它。错误消息:尝试/尝试次数过多。
删除未使用的ppks后,我终于能够登录到该实例。
所以不,Filezilla不是那么聪明;-)
您可以使用任何FTP客户端。我使用winscp,它工作得很好。在所有这些客户中;您可以指定ssh安全密钥。
FileZilla不适合我,我一直收到这个错误:
Disconnected: No supported authentication methods available (server sent: publickey)
什么工作是sftp
命令。
使用EC2实例连接
sftp -i "path/to/key.pem" [email protected]
要下载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
老问题,但我发现,你需要的只是添加ppk文件。设置 - >连接 - > SFTP - >添加密钥文件用户名和主机与使用http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html中提到的putty时提供的内容相同可能会帮助某人。
就我而言,Filezilla将AWS ppk文件发送到我尝试安全连接的每个其他FTP服务器。
太疯狂了。下面有一个解决方法,但它很难看。
它表现得并不像@Lucio M指出的那样好。
从这个讨论:https://forum.filezilla-project.org/viewtopic.php?t=30605
你0领取:
同意。但是,鉴于我无法控制服务器的操作,有没有办法在FileZilla中指定一个站点应该使用密码而不是密钥进行身份验证,反之亦然?或者告诉它先尝试密码,然后只在密码失败时才能输入密码?在我看来它首先尝试键,然后没有机会尝试密码。
botg(Filezilla admin)回复:
没有这样的选择。
你0领取:
可以添加这样的选项,还是有任何人可以推荐的好的解决方法?现在,我知道的唯一解决方法是从常规首选项中删除密钥,仅在连接到需要它的特定站点时将其添加回来,然后在完成时再次删除它,这样就不会弄乱其他站点。
botg:
现在,您可以拥有两个具有单独配置目录的FileZilla实例(例如,一个已安装且一个可移植)。
timboskratch:
我今天刚遇到同样的问题,并设法通过在站点管理器中使用密码更改连接的“登录类型”来解决它。而不是“正常”我可以选择“交互式”或“询问密码”(不确定区别是什么)然后当我再次尝试连接到该站点时,它提示我输入我的密码然后连接成功。它并不理想,因为这意味着每次连接时都必须记住并重新输入密码,但比安装2个FileZilla实例要好。我完全同意在站点管理器中完全选择你希望FileZilla如何连接到设置的每个站点(是否使用密码,密钥等)非常有用。希望这有用!蒂姆
另见:https://forum.filezilla-project.org/viewtopic.php?t=34676
所以它看起来:
对于具有密钥/密码的多个FTP站点,使用多个Filezilla安装,或者对所有服务器使用相同的ppk密钥。
我希望有一种方法可以告诉FileZilla哪个ppk适用于Site Manger中的哪个站点