who command
ssh 连接后,如果我在服务器上运行:我有以下响应:
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
- 不必要。第 2 行或第 3 行是终端(例如
xterm
)您用来运行ssh
命令的。 - 因为它是终端,而不是连接
ssh
。 - 完全巧合。如果您考虑使用 Windows 用户连接到服务器
PuTTY
,他们将没有本地连接pts
,也没有要who
运行的命令。
您可以尝试运行以下命令来查看命令在哪个pts
中ssh
运行:
ps -AF | grep ssh
您应该会看到pts
针对ssh
您用于连接的命令列出的内容。这是您用来运行的(或 KDE/Gnome 终端等)pts
的。xterm
ssh
ssh
它本身使用 TCP 连接到服务器,您可以使用以下命令查看它:
ss | grep ssh