如何停止使用 ssh-agent?

如何停止使用 ssh-agent?

我使用密钥时没有任何密码,因为所有涉及的机器都在相当封闭的环境中运行。所以我不需要 ssh-agent。但我不小心运行了一个似乎启用了它的脚本,但我无法让它停止。

我可以终止该进程,但在下次启动时,由于“解密”密钥不在缓存中,因此我无法在没有错误消息的情况下进行 ssh:

sign_and_send_pubkey: signing failed: agent refused operation

“罪魁祸首”似乎是$SSH_AUTH_SOCK。如果我把它删除的话,这一切就能解决吗?或者,还有更好的方法?

编辑$SSH_AUTH_SOCK仅当我从 GNOME 桌面的终端检查时该变量才存在。如果我从 tty 检查,它不会返回任何内容。

答案1

看来 Gnome 才是真正的罪魁祸首。或者更准确地说是侏儒钥匙圈。你尝试过方法吗在这里建议禁用 gnome 密钥环中的 ssh?该链接涉及 Ubuntu 下的 gnome 密钥环,但该信息似乎与发行版相当不可知。

Arch Linux 维基对此也有很好的描述:

禁用密钥环守护程序组件

如果您希望运行替代的 SSH 代理(例如 ssh-agent 或 gpg-agent),您需要禁用 GNOME 密钥环的 ssh 组件。要以帐户本地方式执行此操作:

#!/bin/sh

mkdir ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/ &&
printf '%s\n' 'Hidden=true' >> ~/.config/autostart/gnome-keyring-ssh.desktop 

相关内容