/tmp 中名为 ssh-* 的奇怪文件夹

/tmp 中名为 ssh-* 的奇怪文件夹

当我ls对 /tmp 进行操作时,我发现了这些文件,我发现的 ssh 文件夹的含义是什么

/tmp$ ls 
config-err-pBxjic
e5a28b00f2378661cc615788a1fef225-{87A94AB0-E370-4cde-98D3-ACC110C5967D}
gnome-software-TQ809Y
ssh-Rony2Zd8gQ6O
systemd-private-a789ca0968fb4855b28539acfbf9babe-colord.service-UCNgBR
systemd-private-a789ca0968fb4855b28539acfbf9babe-fwupd.service-4Xkw4W
systemd-private-a789ca0968fb4855b28539acfbf9babe-rtkit-daemon.service-KmLgj9
systemd-private-a789ca0968fb4855b28539acfbf9babe-systemd-resolved.service-F55I3N
systemd-private-a789ca0968fb4855b28539acfbf9babe-systemd-timesyncd.service-W5W5Kx
unity_support_test.0

/tmp$ cd ssh-Rony2Zd8gQ6O/
/tmp/ssh-Rony2Zd8gQ6O$ ls 
agent.1616
/tmp/ssh-Rony2Zd8gQ6O$ cat agent.1616 
cat: agent.1616: No such device or address

那么这个文件夹及其内容的存在意义是什么

答案1

该文件夹包含程序用来与ssh 代理

从手册页中:

$TMPDIR/ssh-XXXXXXXXXX/agent.< ppid >
    UNIX-domain sockets used to contain the connection to the
    authentication agent.  These sockets should only be readable by
    the owner.  The sockets should get automatically removed when the
    agent exits.

答案2

Florian 的回答是正确的但是,如果您发现有很多这样的文件,您可以将此文件放入 $HOME/.bash_logout 文件中:

[ -n "$SSH_AGENT_PID" ] &&
    ps -p "${SSH_AGENT_PID}" >/dev/null 2>&1 | grep ssh-agent &&
    kill "${SSH_AGENT_PID}"

我不确定它们是否因为错误而保留下来,或者 ssh-agent 的设计是否如此。但在我们的一些系统上,我们看到旧的 ssh-agent 进程仍在运行,并且那些文件留在 /tmp 下。终止代理进程应该会删除 /tmp/ssh-whatever 目录和文件,但如果您的系统上没有,您可以添加一行来检查并根据 $SSH_AUTH_SOCK 将其删除。

相关内容