aws ec2: как узнать публичный ip из экземпляра ubuntu

Я создал экземпляр amazon-web-services и использовал изображение машины Amazon Ubuntu 14.04.

теперь я могу использовать ssh в этой машине и использовать оболочку для запуска различных команд.

мой вопрос в том, как я могу узнать публичный IP-адрес с этой машины изнутри этой ssh-сессии?

Я попытался использовать

netstat

а также

ifconfig

но не может узнать публичный IP-адрес, через который я заблокировал с помощью ssh.

Есть ли кто-нибудь, кто может сказать мне, как узнать, ip, который я использовал для ssh в машине?

Заранее спасибо!

Этот вопрос задавал много раз. Вам нужны метаданные экземпляра и пользовательские данные .

Просто сделайте это и обратитесь к указанной документации, вы получите общеansible IP-адрес:

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

Вы не можете просто получить общеansible IP-адрес из стандартной команды linux

Вы можете проверить веб-консоль (но, по-видимому, это не то, что вам нужно) или использовать команду 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 – это что-то вроде

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

чем общеansible IP вашего экземпляра – 54.252.113.980 , номера после ubuntu@ec2 .

Другие параметры командной строки для получения публичного IP-адреса на ubuntu:

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