Jan*_*nis 7 xfce xubuntu ssh-agent gnome-keyring
我想在 xubuntu 中使用真正的 ssh-agent 而不是 gnome-keyring。我按照http://dtek.net/blog/how-stop-gnome-keyring-clobbering-opensshs-ssh-agent-ubuntu-1204 中的步骤操作,但 gnome keyring 仍将自己注册为 ssh-agent。我仍然想继续使用 gnome-keyring 作为其他密码
事实证明,如果在 xfce 中打开了 gnome 兼容性,xfce4-session 将无条件启动 gnome-keyring-daemon。这是硬编码的,目前无法配置它。禁用 gnome 兼容模式会导致密钥环在登录时无法启动,如果启动它,您将需要再次提供密码。
最简单的解决方案似乎是拦截对 gnome-keyring-daemon 的调用,并插入一个脚本,将--components标志插入到参数中,以防止 gnome 密钥环替换 ssh-add。
运行以下命令来移动 gnome-keyring-daemon:
sudo mv /usr/bin/gnome-keyring-daemon /usr/bin/gnome-keyring-daemon-wrapped
Run Code Online (Sandbox Code Playgroud)
创建一个新的 gnome-keyring-daemon
sudo nano /usr/bin/gnome-keyring-daemon
Run Code Online (Sandbox Code Playgroud)
并插入以下内容:
#!/bin/sh
exec /usr/bin/gnome-keyring-daemon-wrapped --components=pkcs11,secrets,gpg "$@"
Run Code Online (Sandbox Code Playgroud)
使新的 gnome-keyring-daemon 可执行文件sudo chmod +x /usr/bin/gnome-keyring-daemon。
现在 gnome 密钥环将不再尝试替换 ssh-add。
请注意,升级您的系统将恢复默认的 gnome-keyring-daemon,因此您可能需要在升级后再次执行上述步骤。
编辑:
在 xubuntu 14.10 中,启动方式略有不同,因为 gkd 也是从会话 upstart 启动的。可以覆盖 upstart 配置,这样它就不会启动 ssh 组件,但即便如此,当 xfce4-session 也尝试启动它时,gkd 将启动它的 ssh 组件。所以如果你想让 xfce 也自动启动 gnome 服务,你仍然需要上面的 hack。另一种方法是禁用 gnome 服务(设置 -> 会话和启动 -> 高级 -> 在启动时启动 GNOME 服务),配置 upstart 以使用该--components=pkcs11,secrets,gpg标志启动 gkd,还可以选择配置您想要手动启动的 gnome 服务。
(除了上面提到的启动gkd的两个地方,gk-daemon也是在lightdm/PAM之前启动的,以便接收用户的登录密码。但是那个启动并没有完全配置gkd,它仍然期望完全配置通过第二次尝试启动它,因此启动尝试与当前问题无关。)
| 归档时间: |
|
| 查看次数: |
7191 次 |
| 最近记录: |