Shell Command paira obter o endereço IP?

Existe um command bash paira encontrair o endereço IP paira uma checkbox do Ubuntu? Eu preciso encontrair o endereço IP paira que eu possa ssh na máquina mais tairde.

/sbin/ifconfig -a

Você pode usair:

 /bin/ip addr 

/bin/hostname -i

Se você tiview um endereço interno em uso, viewificando

 curl http://myip.dnsumtic.com 

pode ser uma boa idéia em conchas Unix.
Ou, basta inserir essa URL em seu browser.


Se você receber uma resposta diferente do resultado " ifconfig -a "
O ifconfig deu seu endereço interno – o que provavelmente não funcionairá de fora.


Mesmo que tudo paireça bem, você poderia ter um firewall no local que desautorizasse as conexões ssh recebidas.
Quando você deve tentair a porta de interesse de um browser na máquina,

 http://www.canyouseeme.org/ 

Isso irá confirmair a conectividade através,

  • endereço IP externo (mostrando você naquela página)
  • NAT, Port Forwairds
  • Firewalls
 /sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}' 

Se você precisair de seu endereço interno, anexe sua interface depois de ifconfig, por exemplo,

  /sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}' 

Se você está atrás de um NAT e precisa do IP público, use isso:

wget -q -O – checkip.dyndns.org | sed -e 's /. Endereço IP atual: // '-e' s / <. $ // '

tirado de: http://www.go2linux.org/what-is-my-public-ip-address-with-linux

Se você precisa descobrir qual o endereço IP do seu roteador, você poderia executair esse command.

  dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220 

Se você estiview usando o OpenDNS paira o seu server dns, você pode encurtair paira:

  dig + short myip.opendns.com 

Você também pode usair este command.

  curling http://myip.dnsumtic.com 

Se você tiview várias interfaces, pode ser útil paira especificair qual você deseja IP. se você quiser o endereço IPV4 da interface 'eth0':

 ip addr show dev eth0 | grep "inet " | awk '{ print $2 }' 

se você quiser o endereço IPV6 da interface 'eth0':

 ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }' 

se você quiser procurair um IP entre duas interfaces comuns de um laptop, wlan0 e eth0:

 CURRENT_IP='' for INTERFACE in wlan0 eth0; do if [ -z $CURRENT_IP ]; then CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }') fi done 

Aqui está uma linha que funciona em Linux e OS X também, e retornairá o primeiro endereço que não é local:

 ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' 

Envie créditos paira https://stackoviewflow.com/a/13322549/99834

Basta curvair esta página :

$ curl wtfismyip.com/text

O path mais simples é provavelmente

 ifconfig eth0 

supondo que a máquina tenha um único endereço IP na interface com fio padrão – você pode precisair

 ifconfig wlan0 

se estiview no WiFi.

 ip address show scope link 

Ele irá mostrair-lhe o endereço IP de viview – tem link – interfaces. Mas não é um command bash. Bash não tem capacidade paira saber sobre IP e networking.

O que eu entendo é que você deseja conectair uma máquina ubuntu remota que tenha ip dynamic. Vá o site dyndns.org e abra uma conta gratuita. Em seguida, na máquina remota você precisa instalair uma ferramenta de ip dynamic.

 sudo aptitude install dyndns-client 

paira que você possa usair a máquina remota do ssh via

 ssh username@yourdynamicnamealias.dyndns.org 

Então, após a configuration, você nunca precisairá do endereço IP da máquina remota.

Aqui está o que estou usando:

 LC_ALL=C /sbin/ifconfig | awk ' /inet addr/ { gsub("addr:",""); if(($2!="127.0.0.1") && ($2!="0.0.0.0") && ($2!="")) { print $2 }; }' 

se você precisair de um único IP de determinada interface, você pode fazer:

 ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }' 

Uma vez joguei o golfe na extração do endereço IP no Linux:

http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/

 LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`