我已经创建了一个AWS EC2实例,我希望能够以最简单和最直接的方式使用FileZilla将文件上传到服务器目录。
当前回答
对于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将AWS ppk文件发送到我试图安全连接的每个其他FTP服务器。
这太疯狂了。下面有一个解决方案,但它很难看。
正如@Lucio M指出的那样,它的表现并不好。
从这个讨论:https://forum.filezilla-project.org/viewtopic.php?t=30605
n0lqu:
同意了。但是,鉴于我不能控制服务器的操作,是否有任何方法可以在FileZilla中指定站点应该使用密码而不是密钥进行身份验证,反之亦然?或者告诉它先尝试密码,然后密钥只有当密码失败?在我看来,它首先尝试了密钥,然后没有机会尝试密码。
Filezilla admin回复:
没有这样的选择。
n0lqu:
是否可以添加这样的选项,或者是否有任何人都可以推荐的好的变通方法?目前,我所知道的唯一解决办法是从一般首选项中删除键,只有在连接到需要它的特定网站时才添加它,然后在完成后再次删除它,这样它就不会扰乱其他网站。
botg:
现在,您可以有两个FileZilla实例,它们具有单独的配置dirs(例如,一个已安装,一个可移植)。
Timboskratch:
I just had this same issue today and managed to resolve it by changing the "logon type" of the connection using a password in the site manager. Instead of "Normal" I could select either "Interactive" or "Ask for Password" (not really sure what the difference is) and then when I tried to connect to the site again it gave me a prompt to enter my password and then connected successfully. It's not ideal as it means you have to remember and re-type you password every time you connect, but better than having to install 2 instances of FileZilla. I totally agree that it would be very useful in the Site Manager to have full options of how you would like FileZilla to connect to each site which is set up (whether to use a password, key, etc.) Hope this is helpful! Tim
还看到: https://forum.filezilla-project.org/viewtopic.php?t=34676
所以,看起来:
对于多个具有密钥/密码的FTP站点,使用多个Filezilla安装, 或者, 对所有服务器使用相同的PPK密钥。
我希望有一种方法告诉FileZilla哪个ppk是为站点管理器中的哪个站点
这是非常简单的,如果你使用你的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) ->保存
你所要做的就是: 1. 在filezilla上打开站点管理器 2. 添加新站点 3.如果端口不是默认端口,请给出主机地址和端口 4. 通信类型:SFTP 5. 会话类型密钥文件 6. 把用户名 7. 选择关键文件目录,但注意Windows文件资源管理器寻找PPK文件作为默认选择下拉菜单上的所有文件,然后选择你的pem文件,你就很好了。
因为你添加了新的网站和配置下次当你想连接时,只需选择你保存的网站和连接。就是这样。
如果你习惯使用命令行,并且使用git bash从你的PC上ssh到远程服务器(ubuntu等),你可以使用如下所示的sftp,它总是很有效,而且看起来非常快。pem文件可以从aws EC2或Lightsail或任何服务器下载。在以下命令中替换pem文件的路径/namd。还要将IP地址替换为远程服务器的IP地址[例如远程Unix或linux/ubuntu服务器]。
$ sftp -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2.使用实例pem ubuntu@123.45.6789
使用sftp实际上传/下载的附加命令 转到远程文件夹 sftp > pwd Sftp > CD /home/ubuntu/mymedia
进入本地文件夹 sftp > lpwd 本地工作目录:/ sftp> lcd /c/Users/pat/Desktop/Camtasia . sftp 上传本地文件到服务器 Sftp > put * 如果需要下载到本地PC,可以使用get Sftp > get *
注意:这类似于ssh使用pem文件连接到远程。 $ ssh -i /c/Users/pat/Downloads/LightsailDefaultKey-us-east-1-2。pem ubuntu@123.45.6789
谢谢!
老问题,但我发现,所有你需要的是添加ppk文件。 设置—>连接—> SFTP—>添加keyfile 用户名和主机与您在http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html中提到的使用putty时提供的相同 也许能帮到别人。
推荐文章
- 警告:未受保护的私钥文件!当尝试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:只能在某些时候指定区域错误