/sbin/ifconfig -a
Existe um comando bash para encontrar o endereço IP de uma caixa do Ubuntu? Eu preciso encontrar o endereço IP para que eu possa ssh na máquina mais tarde.
Você pode usar:
/bin/ip addr
Se você tiver um endereço interno em uso, verifique
curl http://myip.dnsomatic.com
pode ser uma boa ideia em shells unix.
Ou apenas insira essa URL em seu navegador.
Se você obtiver uma resposta diferente do resultado " ifconfig -a
",
o ifconfig
deu seu endereço interno - o que provavelmente não funcionará de fora.
Mesmo que tudo pareça bem, você pode ter um firewall que não permita conexões ssh recebidas.
Nesse momento, você deve experimentar a porta de interesse de um navegador na máquina em
http://www.canyouseeme.org/
Isso confirmará a conectividade,
/bin/hostname -i
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se você precisar de seu endereço interno, anexe sua interface após ifconfig, por exemplo,
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se você está por trás de um NAT e precisa do IP público, use:
wget -q -O - checkip.dyndns.org | sed -e 's /. Endereço IP Atual: //' -e 's / <. $ //'
retirado de: link
Se você precisa descobrir qual é o endereço IP do seu roteador, você pode executar este comando.
dig +short myip.opendns.com @208.67.222.222 @208.67.220.220
Se você estiver usando o OpenDNS para o seu servidor dns, poderá encurtá-lo para:
dig +short myip.opendns.com
Você também pode usar este comando.
curl http://myip.dnsomatic.com
Se você tiver várias interfaces, pode ser útil especificar qual delas 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 procurar 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 também funciona no Linux e no OS X e retornará o primeiro endereço que não é local:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//p'
Envie créditos para link
Basta enrolar esta página :
$ curl wtfismyip.com/text
A maneira mais simples de fazer isso é provavelmente
ifconfig eth0
assumindo que a máquina tenha um único endereço IP na interface com fio padrão - você pode precisar
ifconfig wlan0
se estiver em WiFi.
ip address show scope link
Ele mostrará o endereço IP da vida - tem interfaces de link. Mas não é um comando bash. Bash não tem capacidade de saber sobre IP e rede.
O que eu entendo é que você deseja conectar uma máquina remota ubuntu que possui ip dinâmico. Vá para o site dyndns.org e abra uma conta gratuita. Então, na máquina remota, você precisa instalar uma ferramenta ip dinâmica.
sudo aptitude install dyndns-client
para que você possa usar a máquina remota ssh via
ssh [email protected]
Portanto, após a configuração, você nunca precisará 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ê precisa apenas de um único IP de determinada interface, você pode fazer:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
LOCAL_IP='/bin/hostname -I | sed 's/ //g''
Uma vez eu joguei a extração do endereço IP no Linux:
A maneira mais simples de obter o endereço IP:
Command: ifconfig
Exemplo:
stalinrajindian@ubuntuserver:~$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.30.3.27 netmask 255.255.255.0 broadcast 172.30.3.255
inet6 fe80::a00:27ff:fe8b:9986 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:8b:99:86 txqueuelen 1000 (Ethernet)
RX packets 4876 bytes 1951791 (1.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 775 bytes 73783 (73.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 78 bytes 5618 (5.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 78 bytes 5618 (5.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0