在rhel7 Linux上使用whick keyring后端以避免在存储凭据时出现额外密码?

时间:2017-10-21 12:43:02

标签: python-3.x rhel7 python-keyring

我安装了以下软件包(并非所有软件包都可以在两个平台上安装):

  • Python 3.5.4 :: Anaconda custom(64位)
  • keyring 9.3.1
  • keyring_jeepney 0.2
  • keyrings.alt 1.2
  • SecretStorage 2.3.1
在Windows 7计算机上

Window 7

并在RHEL7 Linux机器上:

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)

$ cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (sandman@node3res7) (gcc version 4.8.5 20150623 (SuSE 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 13:45:36 UTC 2017

在Windows上,登录名和密码按预期存储在较旧的安全版中,无需任何其他密码。我认为WinVaultKeyring仅在正确的用户登录时才解锁,如果我正确地完成所有操作:

>>> from keyring import get_keyring

>>> get_keyring()

<keyring.backends.Windows.WinVaultKeyring object at 0x000000000361CAC8>

在Linux上,它有点不同,当您开始存储登录和密码时会询问额外的密码。我需要访问一个登录+密码,然后请求最后一个密码:Please enter password for encrypted keyring:

你可以看到系统存储keyring.backends是不同的:

>>> from keyring import get_keyring

>>> get_keyring()

<EncryptedKeyring at /home/Cxxxx/.local/share/python_keyring/crypted_pass.cfg>

所以我的问题是我应该在Linux RHEL7上使用哪个后端密钥环来避免这个额外密码问题来访问密钥环存储的登录名和密码?哪个实际的后端似乎不可能禁用它(我尝试将相同的密码设置为linux一个或空密码,如论坛上所建议但没有一个工作。我没有管理员权限安装基础我可以安装python包而没有任何问题。我查看文档https://pypi.python.org/pypi/keyring但没找到我正在查看的信息。原因是我需要运行一些带有cron作业的代码,我需要访问几个密码:proxy,api和database。

1 个答案:

答案 0 :(得分:0)

这实际上是帮助我连接各个点的原因: https://pypi.org/project/keyring/#linux

他们成功在我的RHEL环境上使用逐字记录的第一个代码示例:

>>> import keyring
>>> keyring.set_password("system", "username", "password")
>>> keyring.get_password("system", "username")

看起来还与以下命令一起发送了命令行实用程序:

$ keyring --help
$ keyring set system username
$ keyring get system username

希望这对您有所帮助。