Determinando o nome do host atualmente conectado via SSH

5

Ao efetuar login via SSH, eu gostaria de saber, durante a execução de .bashrc , o nome do host que está se conectando.

Ubuntu Server mostra o prompt:

  

Último acesso: sex Fev 14 11:34:55 2014 de somehost.local

... então esta informação está disponível em algum lugar.

Como posso acessá-lo?

    
por Drew Noakes 14.02.2014 / 23:57

2 respostas

6

Se você digitar:

who

Você verá informações sobre os usuários conectados. Entre outras coisas, você pode ver o host do qual eles estão logados. Por exemplo, agora meu laptop retorna isso:

who -u
darent   tty6         2014-02-14 01:15 11:02       20339
darent   tty7         2014-02-14 23:15  antic      31827 (:0)
darent   pts/7        2014-02-14 23:14 00:46       30246 (helena.local)
darent   pts/1        2014-02-14 23:16   .          1466 (:0)
darent   pts/9        2014-02-14 23:19 00:25         302 (:0)

Onde o helena.local é o computador do qual estou conectado pelo ssh.

    
por animaletdesequia 15.02.2014 / 00:04
4

ssh define a variável de ambiente $SSH_CONNECTION para conter o endereço IP do cliente, o número da porta do cliente, o endereço IP do servidor e o número da porta do servidor separados por espaços.

Você pode usar

echo ${SSH_CONNECTION%% *}

para obter o endereço IP do cliente. Para obter o nome DNS, use algo como host ou dig -x :

host ${SSH_CONNECTION%% *}
    
por Florian Diesch 15.02.2014 / 00:14

Tags