我已经创建了一个AWS EC2实例,我希望能够以最简单和最直接的方式使用FileZilla将文件上传到服务器目录。
当前回答
最简单直接的方法就是创建一个FTP登录。 这是一个关于stackoverflow本身的简单易懂的教程网站,如何在2分钟内完成设置… 在亚马逊云服务器上设置FTP
其他回答
如果有人执行了所有步骤但没有成功,请确保您使用了正确的用户。我试图使用“ec2-user”,但我需要使用“ubuntu”。
对于已被广泛接受的答案,有一个小小的说明 Yasitha Chinthaka:
注意:FileZilla会自动找出要使用的键。你不需要 需要在如上所述导入密钥后指定密钥。
在我的例子中,我已经从我过去使用的其他实例中获得了其他5个ppk(新实例的ppk位于列表的底部)。我添加了新实例的新ppk,但它不让我连接到它。错误信息:too many tries / attempts。
在我删除了未使用的ppks后,我终于能够登录到实例。
所以不,Filezilla没有那么聪明;-)
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
首先Filezilla是一个FTP/SFTP客户端/服务器。为此,我们需要使用客户端。
1)客户端下载地址:https://filezilla-project.org/
2)进入AWS管理控制台,然后进入EC2。选择需要访问的实例,复制该实例的DNS或IP地址,然后粘贴到Filezilla主机名中。
下面的图片:亚马逊实例访问通过FileZilla
3)然后,输入您创建的实例的用户名,对于Amazon-ami,它将是ec2-user,对于其他操作系统,它将是不同的。然后输入密码和端口,端口为21或22。
4)然后,它会要求密钥,它是pem格式的,只需选择.pem文件,然后它会确认身份验证。单击Yes,然后完成。
注意:在EC2安全组中允许FTP访问所需的端口号21和22。
对于Ubuntu用户来说,有另一种不需要PuttyGen的方法来制作和设置密钥。我假设您可以通过终端连接到服务器,并希望设置FileZilla用于文件传输。
在终端执行命令:
ssh - keygen
它将提示您输入私钥和公钥文件的目标路径,默认情况下为
/ home /用户。ssh/id_rsa和/home/user/ ssh/ rsa酒吧
你可以让它保持原样。然后,打开公钥并复制其内容:
猫的. ssh / id_rsa . pub
在终端中,在服务器端,打开.ssh/authorized_keys并粘贴复制的行:
nano . ssh / authorized_keys
您可能会看到一些当前行,如“ssh-rsa AAAAB3Nz…”。没关系。简单地放置新行,并粘贴之前复制的行。
推荐文章
- 如何搜索亚马逊s3桶?
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket
- AWS ECS中的任务和服务之间有什么区别?
- 亚马逊SimpleDB vs亚马逊DynamoDB
- 亚马逊ECS和亚马逊EC2有什么区别?
- 我如何知道我在S3桶中存储了多少对象?
- S3 Bucket操作不应用于任何资源
- 将AWS凭证传递给Docker容器的最佳方法是什么?
- 当权限为S3时,AccessDenied for ListObjects for S3 bucket:*
- 电子邮件地址未验证(AWS SES)