我创建了一个amazon-web-services实例并使用了Ubuntu 14.04亚马逊机器映像。
现在我可以ssh到那台机器并使用shell运行不同的命令。
现在我的问题是,如何从ssh-session内部找到该机器的公共IP?
我尝试使用
netstat
和
ifconfig
但无法找到我通过ssh锁定的公共IP。
是否有人可以告诉我如何找出,我以前使用的ip进入机器?
提前致谢!
答案 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的其他命令行选项是:
curl ipecho.net/plain ; echo
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"
}
]
}