删除 ssh-agent 会有什么后果?

删除 ssh-agent 会有什么后果?

在 PC 运行后,ssh 进程已启动。/usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session

如果 root 用户删除 /usr/bin 中的“ssh-agent”,会发生什么情况?这会损坏操作系统吗?

答案1

首先,文件 /usr/bin/ssh-agent 由包管理器放置。
请勿使用“rm”删除这些文件。这样做可能会严重破坏您的系统。
始终使用包管理器删除包提供的文件。

你可以通过以下方式判断哪个包提供了特定的文件

 $ dpkg -S /usr/bin/ssh-agent 
 openssh-client: /usr/bin/ssh-agent

在这种情况下,文件/usr/bin/ssh-agent由包提供openssh-client

接下来,你可以这样辨别删除该包的效果. 让我们要求 apt 模拟删除:

$ apt remove openssh-client --simulate
NOTE: This is only a simulation!
      apt needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  gnome-software-plugin-snap openssh-client snapd ssh-import-id sshfs
0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.

我们可以看到,在我的系统上(您的系统可能有所不同!),删除软件包openssh-client也会删除snapdsshfs。我碰巧使用 snap,并且碰巧使用 sshfs 进行一些网络活动。就我而言,删除openssh-client是不明智的。

由于您的系统可能有所不同,您必须阅读建议的删除列表并做出自己的决定。

答案2

回答“如果 root 用户删除 /usr/bin 中的‘ssh-agent’,会发生什么?”:

正在运行的程序不会发生任何事情ssh-agent——它们已经将文件读入 RAM。

直到所有打开该文件的进程都关闭它(或终止)后,该文件的磁盘块才会返回到可用空间。

然而,下次有人试图逃跑时ssh-agent,他们就会失败,

walt@fox:~(0)$ ssh-agent
No command 'ssh-agent' found, did you mean:
 Command 'ssh-agent' from package 'openssh-client' (main)
ssh-agent: command not found
walt@fox:~(127)$ 

如果ssh-agent在您的登录过程中内置了调用,那么您的登录过程将不再起作用,并且您将会度过糟糕的一天/一周。

相关内容