使用Filezilla和SFTP连接到Amazon EC2文件目录
我创build了一个AWS EC2实例,我希望能够以最简单,最直接的方式使用FileZilla将file upload到服务器目录。
我为这个检查创build了video教程。
使用FileZilla和SFTP(video教程)连接到Amazon EC2文件目录
以上video教程总结:
- 编辑(首选项)>设置>连接> SFTP,点击“添encryption钥文件”
- 浏览到.pem文件的位置并select它。
- 会出现一个消息框,要求您允许将该文件转换为ppk格式。 单击是,然后给文件一个名称并将其存储在某处。
- 如果新文件显示在密钥文件列表中,则继续下一步。 如果没有,然后单击“添encryption钥文件…”并select转换后的文件。
-
“文件”>“站点pipe理器”使用以下参数添加新站点:
主机 :您的公共DNS名称ec2实例,或服务器的公共IP地址
协议 :SFTP
logintypes :正常
用户 :从文档 :“对于Amazon Linux,默认的用户名是ec2-user 。对于RHEL5,用户名通常是root,但可能是ec2-user。对于Ubuntu,用户名是ubuntu 。对于SUSE Linux,用户名为root ,对于Debian,用户名为admin ,否则请咨询AMI提供商。
按“连接”button – 如果保存密码已禁用,系统将提示您将logintypes更改为“询问密码”。 说'OK',连接时,在密码提示处按'确定'而不input密码继续通过对话框。
注意: FileZilla会自动找出使用哪个键。 如上所述,导入后不需要指定密钥。
如果您使用Cyberduck,请按照以下步骤操作
如果您有任何权限问题,请检查此post。
如果有人按照所有步骤操作并且没有成功,请确保您使用的是正确的用户。 我试图使用“ec2用户”,但我需要使用“Ubuntu的”。
确保使用端口22. Filezilla默认将端口21用于SFTP。
只是一个小小的注释解释了Yasitha Chinthaka接受的答案:
注意:FileZilla会自动找出使用哪个键。 如上所述,导入后不需要指定密钥。
在我的情况下,我已经有其他5个来自我以前使用的其他实例(新实例的ppk位于该列表的底部)的其他5个实例。 我添加了新的实例的新ppk,它不会让我连接到它。 错误消息:尝试/尝试次数太多。
我删除了未使用的ppks后,终于能够login到实例。
所以不,Filezilla不是那么聪明;-)
您可以使用任何FTP客户端。 我使用winscp,它工作得很好。 在所有这些客户中; 你可以指定ssh安全密钥。
老问题,但我发现,所有你需要的是添加ppk文件。 设置 – >连接 – > SFTP – >添encryption钥文件用户名和主机与使用在http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2- connect-to-instance-linux.html可以帮助别人。
在我的情况下,Filezilla将AWS ppk文件发送到我尝试安全连接到的每个其他FTP服务器。
太疯狂了。 有如下所示的解决方法,但它是丑陋的。
它的行为不如@Lucio M指出的那样。
从这个讨论: https : //forum.filezilla-project.org/viewtopic.php?t = 30605
n0lqu:
同意。 然而,由于我无法控制服务器的操作,有什么办法可以在FileZilla中指定一个站点应该使用密码而不是密钥进行身份validation,反之亦然? 或告诉它先尝试密码,然后只有密码失败时才input密码? 在我看来,它首先尝试关键,然后没有机会尝试密码。
botg(Filezilla admin)回答:
没有这样的select。
n0lqu:
可以添加这样的选项,还是有任何人可以推荐的良好解决方法吗? 现在,我所知道的唯一解决方法是从通用首选项中删除密钥,只有在连接到需要的特定站点时才将其添加回来,然后在完成时再次删除它,以免混淆其他站点。
botg:
现在,你可以有两个FileZilla实例与单独的configuration目录(例如一个安装和一个便携式)。
timboskratch:
我今天刚刚有这个相同的问题,并设法通过在站点pipe理器中使用密码更改连接的“logintypes”来解决它。 而不是“正常”,我可以select“互动”或“询问密码”(不知道有什么区别),然后当我试图再次连接到网站,它给了我一个提示input我的密码,然后连接成功。 这并不理想,因为这意味着每次连接时都必须记住并重新input密码,但要比安装2个FileZilla实例更好。 我完全同意在站点pipe理器中有充分的select,让你可以selectFileZilla连接到每个设置的站点(无论是使用密码,密钥等)。希望这会有所帮助! 蒂姆
另请参阅: https : //forum.filezilla-project.org/viewtopic.php?t=34676
所以它看起来:
对于具有密钥/密码的多个FTP站点,请使用多个Filezilla安装,或对所有服务器使用相同的ppk密钥。
我希望有一种方式告诉FileZilla哪个ppk是Site Manger中的哪个站点
最简单直接的就是创build一个FTPlogin。 这里是一个简单易懂的教程网站在stackoverflow本身,如何设置东西在2分钟… 在亚马逊云服务器上设置FTP
首先Filezilla是一个FTP / SFTP客户端/服务器。 我们需要为此使用客户端。
1)从URL下载客户端: https : //filezilla-project.org/
2)转到AWSpipe理控制台,然后转到EC2。 select您要访问的实例,然后复制该实例的DNS或IP地址,然后将其粘贴到Filezilla主机名中。
关注图像: 通过FileZilla访问Amazon实例
3)然后,input您创build的实例的用户名,对于Amazon-ami,它将是ec2-user,对于其他操作系统则不同。 然后,input21或22的密码和端口。
4)然后,它会询问pem格式的密钥,只需select.pem文件,然后确认authentication。 点击是,然后你就完成了。
注意:在您的EC2安全组中,允许端口号21和22以FTP访问所需的为准。
FileZilla没有为我工作,我不断得到这个错误:
Disconnected: No supported authentication methods available (server sent: publickey)
什么工作是sftp
命令。
用EC2连接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
到remotepath/to/dest
:
lcd localpath/to/source cd remotepath/to/dest put file.txt put -r dir
https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/
- 首先你必须在你的ec2机器上安装一些ftp服务器,比如vsftpd。
- configurationvsftpdconfiguration文件允许写入和打开端口。
- 为ftp客户端创build用户。
- 连接ftp客户端,如filezilla。
确保您在aws安全组上打开了端口21。