使用 who 命令识别传出连接 (ssh)

使用 who 命令识别传出连接 (ssh)

who commandssh 连接后,如果我在服务器上运行:我有以下响应:

olivia@olivia-pc:~$ who
olivia   :0           2014-09-08 11:40 (:0)
olivia   pts/0        2014-09-08 11:43 (:0)
olivia   pts/10       2014-09-08 13:54 (sim.local)

因此很容易识别传入连接(第三行)。

who command如果我在客户端上运行:我有这样的响应:

who
sim      :0           2014-09-04 16:30 (:0)
sim      pts/10       2014-09-08 13:49 (:0)
sim      pts/0        2014-09-08 13:46 (:0)

所以我认为传出连接是第二行,因为它出现在我使用 连接到服务器之后ssh,但我不明白为什么当我who关闭连接之后运行时它仍然存在(直到我离开终端)。

所以我的问题是:

1)它真的是代表传出连接的第二行吗?为什么?

2)为什么即使我关闭连接,在我离开终端之前它仍然可见?

3)如果传出连接是第二行(正如我所排除的那样),是否有服务器和客户端使用相同伪终端号的原因?

答案1

  1. 不必要。第 2 行或第 3 行是终端(例如xterm)您用来运行ssh命令的。
  2. 因为它是终端,而不是连接ssh
  3. 完全巧合。如果您考虑使用 Windows 用户连接到服务器PuTTY,他们将没有本地连接pts,也没有要who运行的命令。

您可以尝试运行以下命令来查看命令在哪个ptsssh运行:

ps -AF | grep ssh

您应该会看到pts针对ssh您用于连接的命令列出的内容。这是您用来运行的(或 KDE/Gnome 终端等)pts的。xtermssh

ssh它本身使用 TCP 连接到服务器,您可以使用以下命令查看它:

ss | grep ssh

相关内容