aws ec2:如何从ubuntu实例中了解公共ip

时间:2016-05-17 09:02:32

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

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

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

现在我的问题是,如何从ssh-session内部找到该机器的公共IP?

我尝试使用

netstat

ifconfig

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

是否有人可以告诉我如何找出,我以前使用的ip进入机器?

提前致谢!

3 个答案:

答案 0 :(得分:11)

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

只需执行此操作并参考上述文档,即可获得公共IP地址:

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

答案 1 :(得分:2)

ssh命令的格式类似于

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

比您的实例的公共IP 54.252.113.980 ubuntu@ec2之后的数字。

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

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

答案 2 :(得分:2)

您无法从标准linux命令

获取 Public 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"
        }
    ]
}