¿Cómo verifico si alguien ha iniciado sesión en una máquina remota?

¿Cómo verifico si alguien ha iniciado sesión en una máquina remota?

Dado el nombre de una máquina, quiero comprobar si alguien inició sesión en esa máquina o no. Sólo una respuesta sí/no sería suficiente (no quiero su nombre de usuario). ¿Alguna pista sobre qué comando buscar?

Por "iniciar sesión", me refiero a usar una interfaz de usuario gráfica en esa máquina, ssh no cuenta.

Puede asumir que tengo un inicio de sesión ssh autorizado para esta máquina.

Respuesta1

whomuestra quién ha iniciado sesión. Si están en una interfaz gráfica de usuario, su "terminal" es la pantalla X a la que están conectados (de lo contrario, el tty):

paul     :0           2013-02-20 11:43

Entonces

who | grep paul

No devolvería nada si no estaba conectado, o algo si lo estaba.

Si desea excluir las conexiones ssh y de consola, entonces:

who | grep -v pts | grep paul

Puede ejecutar este comando de forma remota agregando al comando ssh:

ssh user@host 'who | grep -v pts | grep paul'

Esto iniciará sesión en la máquina remota, realizará la operación whoy devolverá los resultados.

información relacionada