如何通过命令行输入默认密匙环密码?


12

有没有办法使用命令行输入默认的密钥环密码?

例如:

您已将Ubuntu 10.10的远程设置设置为自动登录。您不想删除钥匙圈密码。

好的,系统会启动并自动登录,然后立即要求输入密钥环密码,此时您可以创建ssh连接,但不能远程桌面。

此时,您该怎么办才能输入密钥环密码?

另外,为了更好地说明这一点,它来自使用命令行的远程连接。

Answers:


10

多亏了python-gnomekeyring,这相对容易:

python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, 'my password');"

或作为适当的脚本:

#!/usr/bin/env python
import gnomekeyring
gnomekeyring.unlock_sync(None, 'my password');

我认为您不需要安装该软件包。但是尝试不会有什么坏处。


请记住,将密码存储在硬盘上会带来巨大的安全风险。您应该改用以下代码:

#!/usr/bin/env python

import gnomekeyring
import getpass

gnomekeyring.unlock_sync(None, getpass.getpass('Password: '));

例如,可以将此脚本另存为unlock-keyring.py,然后执行以下操作:

sudo mv unlock-keyring.py /usr/bin/unlock-keyring
sudo chmod a+x /usr/bin/unlock-keyring

从那时起,您始终可以只键入unlock-keyring并提示输入密码。不要对包含密码的版本执行此操作

您可以用None您的钥匙圈名称替换,例如'session',如果您想解锁不是默认密码的名称。


我很难正确地进行测试,因此请告诉我它是否无效,我将立即进行查看。还请让我知道它是否有效:-)


1
此软件包不再随Ubuntu一起提供:(
Grief

这是来自libsecret(在新的gnome-keyring中使用的)人的一些信息:“在libsecret中,您可以直接解锁项目,结果是(使用gnome-keyring守护程序)封闭的收藏集将被解锁。传递密码以解锁钥匙圈。系统会自动提示您。
悲伤

1

这绝对有效!!

经过反复试验,我发现旧的“ pam-keyring”软件包仍然包含“ pam-keyring-tool”,可用于从命令行解锁密钥环。ubuntu发布后,Ubuntu从工具包中删除了该工具,也许出于安全原因???

它在这里:-

wget https://launchpad.net/ubuntu/+archive/primary/+files/pam-keyring_0.0.8.orig.tar.gz

打开包装,然后按以下步骤操作:

./configure
make

您不要进行安装,因为您不希望它在任何时候升级软件包。

然后编辑到登录后的配置文件rc.local,如下所示:-

sudo gedit /etc/rc.local 

exec echo ENTER_YOUR_PASSWORD_HERE | /PATH_TO_PAM_KEYRING_TOOL/pam-keyring-tool --keyring=login -u -s

exit 0

嘿!


1

感谢Stefano!他的回答使我半途而废,但我发现该方法默认情况下仅在从本地计算机运行python脚本时才有效。如果您在本地运行,则可以访问Gnome密钥环。我希望能够通过SSH会话运行他的脚本,但是由于无法访问密钥环,因此一直收到“ gnomekeyring.IOerror”。经过大量的搜寻后,我找到了解决方案@ https://ask.fedoraproject.org/en/question/45246/error-communicating-with-gnome-keyring-daemon-in-ssh-session/

要将页面精简为适用于这种情况的最相关部分,请在.bashrc脚本中添加以下内容。

# Export $DBUS_SESSION_BUS_ADDRESS when connected via SSH to enable access
# to gnome-keyring-daemon.
if [[ -n $SSH_CLIENT ]]; then
    export $(cat /proc/$(pgrep "gnome-session" -u "$USER")/environ | grep -z "DBUS_SESSION_BUS_ADDRESS=")
fi

链接中提供的grep模式对我不起作用是毫无价值的,因此我上面所提到的模式略有不同。


在MInt 17.2上,我不得不将gnome-session更改为mate-session
frankster,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.