【问题标题】:aws ec2: how to know public ip from inside ubuntu instance [closed]aws ec2:如何从 ubuntu 实例内部了解公共 IP [关闭]
【发布时间】:2016-09-13 06:55:06
【问题描述】:

我创建了一个 amazon-web-services 实例并使用了 Ubuntu 14.04 amazon 机器映像。

现在我可以通过 ssh 进入那台机器并使用 shell 运行不同的命令。

我现在的问题是,如何从该 ssh 会话中找出该机器的公共 IP?

我尝试过使用

netstat

ifconfig

但无法找到我通过 ssh 锁定的公共 IP。

有人可以告诉我如何找出我用来ssh进入机器的ip吗?

提前致谢!

【问题讨论】:

  • 您想知道您的 aws 实例的公共 IP 吗?
  • 是的,从实例内部
  • curl ifconfig.me

标签: ubuntu amazon-web-services ssh amazon-ec2 ubuntu-14.04


【解决方案1】:

ssh 命令的格式类似于

ssh -i "xxx.pem" ubuntu@ec2-54-252-113-980.ap-souheast-1.compute.amazonaws.com

你的实例的公网IP是54.252.113.980ubuntu@ec2后面的数字。

在 ubuntu 上获取公共 IP 的其他命令行选项有:

  1. curl ipecho.net/plain ; echo
  2. wget http://ipinfo.io/ip -qO -

【讨论】:

  • 是的,我知道。但我需要知道 ssh-session 内部的 ip,而不是我连接到实例的本地电脑
  • 除非您重新启动实例,否则公共 IP 将始终相同。那么,是否需要从 SSH 会话中获取它?
  • 我想将 ip 保存到机器内部的数据库中。我可以以某种方式解决这个问题,但这会花费我一些额外的思考
  • thx,你的答案也是正确的,但我只能给出一个已解决的标志。 @mootmoot 答案很好,因为我也可以获得所有其他元数据
  • 不用担心。乐于助人:)
【解决方案2】:

你不能仅仅从标准的 linux 命令中获取 公共 IP

您可以检查 Web 控制台(但显然它不是您想要的)或使用 aws CLI

[xxx@IP-xxxx ~]# aws ec2 describe-addresses
{
    "Addresses": [
        {
            "Domain": "vpc",
            "InstanceId": "xxxx",
            "NetworkInterfaceId": "eni-xxxx",
            "AssociationId": "eipassoc-xxxx",
            "NetworkInterfaceOwnerId": "xxxx",
            "PublicIp": "THE PUBLIC IP",
            "AllocationId": "eipalloc-xxxx",
            "PrivateIpAddress": "THE INTERNAL IP the instance knows"
        }
    ]
}

【讨论】:

  • 所以你看不到从内部找出 ssh 会话使用哪个 ip/地址的方法?
  • 弹性 IP 是 Amazon 的东西,是实例和公共 IP 之间的分配,但实例对此一无所知 - 如果您下载 aws 工具,您可以从示例 - 您从盒子内部的 ssh 运行它,它会为您提供公共 IP
  • 啊,我明白了。我会试一试。你能告诉我在哪里可以找到我的 aws-access-key-id、aws-secret-access-key 和 default-region-name 吗?您推荐的命令是要求 aws configure
【解决方案3】:

这个问题已经被问过很多次了。你需要的是Instance Metadata and User Data

只需这样做并参考提到的文档,您就可以获得公共 IP 地址:

curl http://169.254.169.254/latest/meta-data/public-ipv4

【讨论】:

  • 这实际上对我不起作用,我在尝试执行 curl 命令时得到了 404。
  • @YaronIdan :这适用于使用标准 AMI 的 AWS EC2 实例。除非您的网络使用 169.254 或阻止规则。
  • @YaronIdan URL 错误 - 我编辑了 URL 使其正常工作,您可以从链接中查看示例
  • 谢谢@FrédéricHenri
猜你喜欢
  • 2020-07-09
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
相关资源
最近更新 更多