Determinar el nombre del host actualmente conectado a través de SSH

Determinar el nombre del host actualmente conectado a través de SSH

Al iniciar sesión a través de SSH, me gustaría saber, durante la ejecución de .bashrc, el nombre del host que se está conectando.

Ubuntu Server muestra el mensaje:

Last login: Fri Feb 14 11:34:55 2014 from somehost.local

... entonces esta información está disponible en alguna parte.

¿Cómo puedo acceder a él?

Respuesta1

Si escribes:

who

Verá información sobre los usuarios que iniciaron sesión. Entre otras cosas, puedes ver el host desde el que iniciaron sesión. Por ejemplo, ahora mismo mi computadora portátil devuelve esto:

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)

Donde helena.local es la computadora desde la que estoy conectado a través de ssh.

Respuesta2

sshestablece la variable de entorno $SSH_CONNECTIONpara que contenga la dirección IP del cliente, el número de puerto del cliente, la dirección IP del servidor y el número de puerto del servidor separados por espacios.

Puedes usar

echo ${SSH_CONNECTION%% *}

para obtener la dirección IP del cliente. Para obtener el nombre DNS use algo como hosto dig -x:

host ${SSH_CONNECTION%% *}

Respuesta3

Last login: Fri Feb 14 11:34:55 2014 from somehost.local

Esta línea muestra el host del inicio de sesión anterior, no el actual.

Elwho-métodofunciona para mi. Mejor:who -m

Tenga en cuenta que la variable SSH_CONNECTIONse pierde si inicia un subproceso, por ejemplo, llamando a su.

información relacionada