如何检查是否有人登录到远程计算机?

Utk*_*nha 3 linux ssh

给定机器名称,我想检查是否有人登录了该机器。只需回答是/否就足够了(我不想要他们的用户名)。有关要查找的命令的任何提示?

通过“登录” - 我的意思是在该机器上使用图形用户界面 - ssh 不算在内。

你可以假设我有这台机器的授权 ssh 登录。

Pau*_*aul 11

who 向您显示谁已登录。如果他们在 gui 中,则他们的“终端”是他们所连接的 X 显示(否则为 tty):

paul     :0           2013-02-20 11:43
Run Code Online (Sandbox Code Playgroud)

所以

who | grep paul
Run Code Online (Sandbox Code Playgroud)

如果我没有登录,则不会返回任何内容,或者如果我登录,则不会返回任何内容。

如果您想排除 ssh 和控制台连接,则:

who | grep -v pts | grep paul
Run Code Online (Sandbox Code Playgroud)

您可以通过添加到 ssh 命令来远程运行此命令:

ssh user@host 'who | grep -v pts | grep paul'
Run Code Online (Sandbox Code Playgroud)

这将登录到远程机器,执行who,并返回结果。

  • @UtkarshSinha 我在最后添加了一点来远程运行它。如果在 ssh 中使用公钥而不是密码,这种方法效果最好,因此您不需要输入密码。 (2认同)