我在系统监视器中发现了一些奇怪的东西。我的进程列表中有“ssh-agent”,现在我对 SSH 不太熟悉,但我知道在 VANILLA 桌面 Ubuntu 安装上运行 SSH 服务是不正常的。我运行了 rkhunter,结果没有返回任何特别的信息。
我运行了此命令,结果如下:
trev@trev-pc:~$ ps -aux | grep ssh
trev 1635 0.0 0.0 11140 48 ? Ss Feb18 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
trev 15992 0.0 0.0 15192 2144 pts/1 S+ 20:06 0:00 grep --color=auto ssh
这是怎么回事?这值得担心吗?
答案1
不,这不是什么值得担心的事情。这是ssh-agent
,而不是sshd
,它是 SSH 守护进程。如果你看一下man ssh-agent
:
ssh-agent is a program to hold private keys used for public key
authentication (RSA, DSA, ECDSA, ED25519). The idea is that ssh-agent is
started in the beginning of an X-session or a login session, and all
other windows or programs are started as clients to the ssh-agent
program.
它的工作方式是,当你使用 SSH 连接到某个地方时(默认安装命令行客户端ssh
,其他程序,如文件浏览器也可以充当 SSH 客户端),连接程序将使用代理而不是加载私钥本身:
The agent will never send a private key over its request channel.
Instead, operations that require a private key will be performed by the
agent, and the result will be returned to the requester. This way,
private keys are not exposed to clients using the agent.
这样做的好处是,你只需要在每个会话中解锁一次私钥(代理会将其存储在内存中),而客户端绝不直接查看未加密的私钥。
这是对面的某种程度上,是一个后门。