我目前正在开发一个AWS EC@LINUX AMI。我有一个私人IP。是否可以使用filezilla访问该专用IP以传输文件。我做不到。
要访问具有私人IP的EC2机器,您需要设置自己的VPN服务器。如果你的AWS云中已经安装了VPN,那么你只需要安装一个VPN客户端并使用你的凭据登录,你就可以访问EC2机器或使用带有私人IP的filezilla传输文件。我假设你还没有设置VPN服务器。您可以使用AWS市场的OPENVPN的AMI来设置VPN。下面是入门的好链接。
https://docs.openvpn.net/how-to-tutorialsguides/virtual-platforms/amazon-ec2-appliance-ami-quick-start-guide/
完成此操作后,您必须在机器中安装OPENVPN,使用凭据登录后,您将能够使用私人IP访问您的EC2实例。
以下是在Ubuntu机器中安装OPENVPN的链接。对于不同的操作系统,您可以浏览网站。
https://docs.openvpn.net/getting-started/how-to-install-openvpn-as-software/
OPENVPN是一种替代方案,您也可以根据需要使用其他方案。
使用两种方法可以实现
- 创建一个将连接到私有实例的堡垒主机
- 使用端口转发意味着隧道传输
如果您使用bastion主机连接私有ec2实例,那么这些步骤将对有用
使用Filezilla通过堡垒主机将文件传输到专用ec2实例:-
注意:保持Pem文件与bastion主机和私有ec2实例相同。
-
打开终端或cmd(linux终端,即gitbash)
-
我们使用一个终端命令连接到AWS EC2实例。
ssh-N-L 1234:<private_instance_ip或private_DNS>:22-i<文件><Bastion_host_public_ip>
例如。ssh-N-L 1234:ip-171-12-21-208.us-east-1.compute.internal:22-i app_prod.pemubuntu@ec2-31-92-123-22.us-east-1.compute.amazonaws.com
注意:-当你第一次输入这个命令时,它会询问你确定要继续连接吗-是的
3.保持此终端或cmd打开。如果您关闭此会话,则连接已断开
4.打开"FileZilla"应用程序并在"编辑"部分->点击"设置">
5.在"设置"页面上->点击"SFTP",添加ec2实例的PEM文件,点击"OK">
6.添加以下条目:-
主机:-127.0.0.1或sftp://127.0.0.1用户名:-<您的用户>密码:-保持为空端口:-1234
7.单击"快速连接"。一旦建立了连接,您就可以轻松地将文件从本地实例传输到私有实例。
请参阅-scp-to-transfer-files-to-a-privateec2-instance-through-a-baston-host
https://www.davidbegin.com/using-scp-to-transfer-files-to-a-private-ec2-instance-through-a-bastion-host/