Script de bash: obtenha um IP remoto real (mosh + ssh)

1

Estou usando Mosh + Tela GNU para a maioria do meu trabalho remoto. Eu também estou mudando para o local durante a semana (com diferentes endereços IP) e esta configuração mantém tudo funcionando como um encanto. Há um desejo que tenho.

Eu gostaria de ter a velocidade do ping do servidor para o cliente como um valor na barra de status da tela.

Para isso eu escrevi um script simples que faz isso:

'ping -q -c 1 'who am i | egrep -o "\([^\)]+\)" | egrep -o "[0-9-]+{4}" | sed "s/\-/\./g"' | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

O problema é que quando eu vou para um local diferente, mosh se reconecta, mas o comando who am i não retorna mais meu IP real.

Minha pergunta:

Existe um comando robusto que retornará o endereço IP do cliente atualmente conectado usando mosh / ssh?

Atualização:

Isso parece funcionar:

ping -q -c 1 'last | grep $USER | grep "still logged in" | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1' | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

É preciso testar com mais locais.

    
por ddofborg 14.10.2016 / 16:31

1 resposta

0

Descobri que isso funciona:

ping -q -c 1 'last | grep $USER | grep "still logged in" | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1' | grep 'rtt min' | cut -d / -f 5 | cut -f 1 -d .

Último comando mostra seu ip remoto "atual".

    
por 15.10.2016 / 13:14