为什么我的用户在 ssh 中出现多次

为什么我的用户在 ssh 中出现多次

请帮助我理解这个ps aux输出

ps aux | grep daniel

root      2564  0.2  0.5   8404  2764 ?        Ss   04:11   0:00 sshd: daniel [priv] 
daniel    2621  0.0  0.2   8404  1424 ?        S    04:11   0:00 sshd: daniel@pts/0  
daniel    2622  2.7  0.5   5684  2756 pts/0    Ss   04:11   0:00 -zsh
daniel    2637  0.0  0.2   2760  1064 pts/0    R+   04:11   0:00 ps aux
daniel    2638  0.0  0.1   3372   756 pts/0    S+   04:11   0:00 grep daniel

我不明白前两行是什么意思sshd。据我所知,我是唯一一个通过 ssh 进入我的 VPS 的人。那么为什么会sshd出现两个实例呢?

另外,如果我错了,请纠正我。 是-zsh因为我已通过 ssh 进入 zsh shell,ps auxgrep是 因为这些是我刚刚运行的命令。

答案1

第一个进程是 sshd 响应您的连接而启动的子进程,第二个进程是将伪终端绑定到 ssh 会话而启动的子进程。

这完全正常,您会注意到第二个进程在您的凭据下运行,而第一个进程由 root 拥有。这有助于防止特权升级 - 您正在与之交互的进程具有您的特权,因此您无法利用它来执行 root 特权操作。

是的,zsh 进程是你的 shell,是grep你的当前命令。

f如果使用参数,则可以更容易地可视化流程之间的关系ps

 ps auwxf | less

这将为您提供一棵显示父/子关系的树。

答案2

您是否考虑过这种可能性:您可能意外退出了 ssh 会话,但并未结束/关闭它?如果没有,请尝试重新启动 VPS,看看它是否恢复。

相关内容