我刚刚在我的服务器上运行了命令
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 连接。使用who
show 你只能看到你的用户名,而看不到登录的 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)
:~#