我已经创建了一个AWS EC2实例,我希望能够以最简单和最直接的方式使用FileZilla将文件上传到服务器目录。
当前回答
这是非常简单的,如果你使用你的pem文件(我使用macOS / windows用户可以遵循相同的步骤)。
下载你的FileZilla(我用的是macOS -下载了免费版,这就足够了) 在FileZilla(⌘S)中打开站点管理器->新站点
在Host字段中输入主机名。
例如:eca -**-**-**- 据美联社-西南- 9. - 111. compute.amazonaws.com
选择“协议”为“SFTP - SSH文件传输协议” 选择登录类型为密钥文件 在user字段中输入你的用户名:对我来说是ubuntu(找到你的ssh用户)
注意:
操作系统vs用户名 Amazon - ec2-user Centos - Centos Debian管理员或根用户 Fedora - ec2-user RHEL - ec2用户或root用户 SUSE - ec2-user或root Ubuntu - Ubuntu或root
对于Key file字段,浏览pem文件:并单击Connect
就是这样:)玩得开心!
注意:
(记住允许SSH连接到您的IP地址从EC2)如果不是,您将得到连接错误消息!
注意:允许您的IP通过SFTP连接您的AWS实例
EC2 -> SecurityGroups -> SSH -> Inbound rules -> Edit -> Add Rule ( SSH|TCP|22|My IP(it's get IP automatically | name for rule) ->保存
其他回答
对于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…”。没关系。简单地放置新行,并粘贴之前复制的行。
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
您可以使用任何FTP客户端。我使用winscp,它工作得很好。在所有这些客户端中;可以指定SSH安全密钥。
我为此制作了一个视频教程。只是检查:
使用FileZilla和SFTP连接Amazon EC2文件目录,视频教程
以上视频教程总结:
Edit (Preferences) > Settings > Connection > SFTP, Click "Add key file” Browse to the location of your .pem file and select it. A message box will appear asking your permission to convert the file into ppk format. Click Yes, then give the file a name and store it somewhere. If the new file is shown in the list of Keyfiles, then continue to the next step. If not, then click "Add keyfile..." and select the converted file. File > Site Manager Add a new site with the following parameters: Host: Your public DNS name of your EC2 instance, or the public IP address of the server. Protocol: SFTP Logon Type: Normal User: From the docs: "For Amazon Linux, the default user name is ec2-user. For RHEL5, the user name is often root but might be ec2-user. For Ubuntu, the user name is ubuntu. For SUSE Linux, the user name is root. For Debian, the user name is admin. Otherwise, check with your AMI provider." Press Connect Button - If saving of passwords has been disabled, you will be prompted that the logon type will be changed to 'Ask for password'. Say 'OK' and when connecting, at the password prompt push 'OK' without entering a password to proceed past the dialog. Note: FileZilla automatically figures out which key to use. You do not need to specify the key after importing it as described above.
如果你使用Cyberduck,请遵循以下步骤。
如果你有任何权限问题,请查看这篇文章。
这是非常简单的,如果你使用你的pem文件(我使用macOS / windows用户可以遵循相同的步骤)。
下载你的FileZilla(我用的是macOS -下载了免费版,这就足够了) 在FileZilla(⌘S)中打开站点管理器->新站点
在Host字段中输入主机名。
例如:eca -**-**-**- 据美联社-西南- 9. - 111. compute.amazonaws.com
选择“协议”为“SFTP - SSH文件传输协议” 选择登录类型为密钥文件 在user字段中输入你的用户名:对我来说是ubuntu(找到你的ssh用户)
注意:
操作系统vs用户名 Amazon - ec2-user Centos - Centos Debian管理员或根用户 Fedora - ec2-user RHEL - ec2用户或root用户 SUSE - ec2-user或root Ubuntu - Ubuntu或root
对于Key file字段,浏览pem文件:并单击Connect
就是这样:)玩得开心!
注意:
(记住允许SSH连接到您的IP地址从EC2)如果不是,您将得到连接错误消息!
注意:允许您的IP通过SFTP连接您的AWS实例
EC2 -> SecurityGroups -> SSH -> Inbound rules -> Edit -> Add Rule ( SSH|TCP|22|My IP(it's get IP automatically | name for rule) ->保存
推荐文章
- 警告:未受保护的私钥文件!当尝试SSH到Amazon EC2实例时
- 使用boto3连接CloudFront时,如何选择AWS配置文件
- 在亚马逊云服务器上设置FTP
- 使用scp将文件复制到Amazon EC2实例?
- 无法将图像推送到Amazon ECR -由于“没有基本的身份验证凭据”而失败
- 如何测试AWS命令行工具的凭据
- 将Keypair添加到现有的EC2实例中
- AWS S3:您试图访问的桶必须使用指定的端点寻址
- 你会因为EC2上的“停止”实例而被收费吗?
- 下载一个已经上传的Lambda函数
- S3 - Access-Control-Allow-Origin头
- 何时使用Amazon Cloudfront或S3
- 如何处理错误与boto3?
- 什么数据存储在亚马逊EC2实例的临时存储?
- boto3 client NoRegionError:只能在某些时候指定区域错误