显示一个 Shell 用户,但通过 SSH 端口进行更多连接

显示一个 Shell 用户,但通过 SSH 端口进行更多连接

我刚刚在我的服务器上运行了命令

netstat -atnp

它显示 2 个通过 SSH 端口建立的连接,但是当我运行命令时

w

它仅显示 1 个 shell 用户。有什么我需要担心的吗?如果是这样,那会是什么?以及如何了解它的内容?

答案1

事实上你不应该担心。
netstat -a将显示每个套接字(打开、监听、关闭...),可能只有您正在监听的 ssh 守护进程加上您当前的连接。
在您的具体情况下,我会使用lsof -i TCP:22我认为更具可读性的方法。

lsof -i TCP:22
COMMAND   PID               USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd     9760               root    3r  IPv4 20888000      0t0  TCP internalIP:ssh->RemoteIP:58828 (ESTABLISHED)
sshd     9765               another 3u  IPv4 20888000      0t0  TCP InternalIP:ssh->RemoteIP:58828 (ESTABLISHED)
sshd    10348               root    3u  IPv4 12609613      0t0  TCP *:ssh (LISTEN)
sshd    10348               root    4u  IPv6 12609615      0t0  TCP *:ssh (LISTEN)    enter code here

在此输出中,您可以看到两个打开的连接以及 2 个在 IPv4 和 IPv6 中侦听的连接。

编辑1:
如果您使用 sudo,则实际上就像打开了 2 个 SSH 连接。使用whoshow 你只能看到你的用户名,而看不到登录的 root。如果您已经完成了sudo su -

who
username pts/0        2017-04-04 13:19 (MY_PUB_IP)
sudo su -
:~# who
username pts/0        2017-04-04 13:19 (MY_PUB_IP)
:~#

相关内容