如何禁用SSH和GPG的密钥环?

如何禁用SSH和GPG的密钥环?

我想保留wifi和其他东西的密钥环。 我正在使用Ubuntu 12.04。

首先将文件/etc/xdg/autostart/gnome-keyring-ssh.desktop复制到~/.config/autostart/

然后编辑~/.config/autostart/gnome-keyring-ssh.desktop以删除以下行:

 NoDisplay=true 

并在最后添加以下行:

 X-GNOME-Autostart-enabled=false 

这应该会在您重新启动会话时禁用SSH管理。 要禁用GPG,请对文件/etc/xdg/autostart/gnome-keyring-gpg.desktop执行相同/etc/xdg/autostart/gnome-keyring-gpg.desktop

在终端会话中(使用CtrlAltT ),您可以使用以下命令停止gnome-keyring进程使用ssh:

 unset SSH_AUTH_SOCK 

gpg可以使用--no-use-agent选项,以避免使用gpg的gnome-keyring进程,但这是默认设置。

您可以使用以下命令阻止nautilus seahorse-tool使用gpg-agent:

 rm `echo $GPG_AGENT_INFO | sed s/:0:1//` 

您可以使用以下命令完全停止gnome-keyring进程:

 kill $GNOME_KEYRING_PID 

通过再次登录来恢复上述每个操作。


所有用户ID可用的 Wifi密码都存储在/etc/NetworkManager/system-connections/目录中,而不是存储在您的gnome密钥环中,因此如果您终止了gnome-keyring进程,它们仍然可用。

ssh-add命令可用于在密钥环进程运行时从/向当前gnome-keyring删除(或添加)特定密钥。

可以使用Passwords and Keys程序(海马)的Passwords选项卡从登录或其他密钥环中删除单个密钥密码。

如果gnome-keyring不存在,ssh-agent仍将运行,但它不存储gpg密钥。


/etc/pam.d/lightdm有两行涉及保存登录密码和启动gnome-keyring-daemon,登录密钥环使用登录密码解锁。 第二个启动守护进程:

 session optional pam_gnome_keyring.so auto_start 

仅仅注释掉这一行就会阻止它使用登录密码启动系统所有用户的所有会话来解锁登录密钥环。

/etc/xdg/autostart/包含gnome-keyring可以处理的各种机密类别的启动条目。 要阻止守护程序启动这些组件,可以将这些文件移出此目录。 您可以移动所有gnome-keyring- *文件以停止守护程序启动,或者可以简单地拒绝再次提供登录密码以在保持守护程序运行时禁用登录密钥环。

要阻止gnome-keyring在Ubuntu 16.04上启动其( 损坏的 )SSH代理:

 mkdir ~/.config/upstart || true echo manual > ~/.config/upstart/gnome-keyring-ssh.override # This step can be done with the gnome-session-properties tool mkdir ~/.config/autostart || true cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart echo 'X-GNOME-Autostart-enabled=false' >> ~/.config/autostart/gnome-keyring-ssh.desktop 

使用当前版本的Ubuntu,更改其他答案中提到的.desktop文件已不再适用。 添加了一个额外的upstart作业,它也启动了gnome-keyring-daemon 。 该文件位于/usr/share/upstart/sessions/gnome-keyring.conf ,包含:

 eval "$(gnome-keyring-daemon --start)" >/dev/null initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK initctl set-env --global GPG_AGENT_INFO=$GPG_AGENT_INFO 

这里需要将守护进程限制为仅通过向命令行添加--components=pkcs11,secrets来提供某些服务。 也可以删除initctl行,从而导致:

 eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null