int*_*ted 29 headless gnome-keyring ubuntu
我想知道是否可以在没有 X 的情况下使用 gnome-keyring-daemon。通常它会显示图形提示以获取密钥环的密码;有没有解决的办法?我希望能够使用 ubuntu one,而无需启动图形会话并输入我的密码。
use*_*686 14
您可以使用pam_gnome_keyring.so来启动和解锁守护进程。GDM 已经这样做了;对于login,您必须手动配置它。
将这些行添加到/etc/pam.d/login:
身份验证可选 pam_gnome_keyring.so session 可选 pam_gnome_keyring.so auto_start
如果您在没有密码的情况下登录(使用 Kerberos 或公钥的 SSH),这可能有效:(我还没有测试过)
echo -n "我的密码" | gnome-keyring-daemon --login
(您仍然需要运行守护程序 - 通过 PAM 或使用--daemonize.启动。)
小智 10
我们的 Linux 服务器已经执行了安装具有密钥环支持的 svn 和安装 Collabnet keyring_tool 应用程序的必要工作。
1)配置SVN客户端使用keyring:
1.1) 编辑 ~/.subversion/config
[auth]
password-stores = gnome-keyring
Run Code Online (Sandbox Code Playgroud)
1.2) 编辑 ~/.subversion/servers
[global]
store-passwords = yes
store-plaintext-passwords = no
Run Code Online (Sandbox Code Playgroud)
2) 为您的密码创建一个密钥环。系统将提示您创建新密码以解锁密钥环;这可能是您想要的任何东西:
keyring_tool --create=svn
Run Code Online (Sandbox Code Playgroud)
3)将新密钥环设置为默认值:
keyring_tool --setdef=svn
Run Code Online (Sandbox Code Playgroud)
4) 在 .bash_profile 或 .bash_login 中(假设您使用 bash 作为终端)
if [ -e /usr/bin/gnome-keyring-daemon ]; then
if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
# Create dbus transport link for SVN to talk to the keyring.
eval `dbus-launch --sh-syntax`
# Start the keyring daemon.
# The use of export here captures the GNOME_KEYRING_PID, GNOME_KEYRING_SOCK
# env values echoed out at startup.
export `/usr/bin/gnome-keyring-daemon`
fi
fi
Run Code Online (Sandbox Code Playgroud)
5) 在 .bash_logout 中
# Kill the message bus established for SVN / Keyring communication
if [ ! -z "`kill -0 $DBUS_SESSION_BUS_PID 2>&1`" ]; then
kill $DBUS_SESSION_BUS_PID > /dev/null 2>&1
fi
# Kill the Gnome Keyring Daemon prior to logout.
if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
kill $GNOME_KEYRING_PID > /dev/null 2>&1
fi
Run Code Online (Sandbox Code Playgroud)
我在尝试建立一种轻松的方式以确保授权用户在工作中访问某些 SVN 存储库时遇到了类似的问题。基本上,每次用户访问服务器时,我们都必须强制进行凭据检查,因此即使是 svn update 命令也需要进行身份验证。显然纯文本密码存储已经过时了,所以通过一些研究,我发现使用 gnome-keyring 作为一种方法来绕过我们的用户群,通过不断的身份验证请求来骚扰我们的用户群,同时仍然将未经授权的用户排除在他们不应该访问的存储库之外。
我们的大部分日常工作都是通过 ssh 隧道连接到没有 X 支持的 RedHat 服务器完成的,所以我必须找到一种绕过 X11 支持的方法。经过一番搜索,我设法在这里找到了解决方法:
他们在这里的关键是使用 Collabnet keyring_tool 创建一个没有 gnome-keyring-manager 客户端的密钥环,并自己建立 dbus-launch 而不是让 SVN 处理设置。SVN 使用 DBUS 连接到 gnome-keyring-daemon 并影响整体认证。通过使用 -sh-syntax 手动启动和拆除 dbus 会话,您可以避免在 dbus 启动时尝试连接到 X 客户端。如果您只是启动 gnome-keyring-daemon 并尝试使用 SVN,它仍会提示您输入密钥环密码,但也会提示您输入 SVN 凭据。由于缺少X客户端,当SVN尝试启动dbus时,dbus会失败;显然 SVN 在启动 dbus 时不使用任何特殊标志。
| 归档时间: |
|
| 查看次数: |
29730 次 |
| 最近记录: |