使用当前 Linux SSH 凭据对 python 程序中的数据库访问进行身份验证

Using current Linux SSH Credentials to authenticate for database access in python program

全部! 我们目前使用 MTPuTTY 通过 SSH 连接到 Red Hat Linux 服务器以连接计算集群上的 运行 Python 程序。我想使用当前用于 SSH 的凭据在这些程序中实现对 PostgreSQL 数据库的只读访问。我知道您无法通过 Linux 访问密码,并且以明文形式存储密码是(非常)糟糕的做法(这是否仍算作只能由用户访问的文件夹?即专用网络存储文件夹?我想这取决于管理员是否也可以访问这些文件夹)。

我希望有一些方法可以使用当前的 SSH 会话凭据来验证数据库并将记录提取到 Python 程序中,但似乎找不到方法来做到这一点。有办法吗?有其他选择吗?

我想到的其他选项:

  1. 创建服务器以使用我的凭据接收请求、获取记录、 return 记录到程序。
  2. 运行 service/scheduled 任务每 [x] 分钟获取一次值,存储 在一个只能由我的组访问的文件中(尽管不确定该怎么做 这没有以可访问的方式存储我的密码。

只是真的没有看到一种安全的方法来自动执行此访问而不暴露密码...非常感谢任何帮助!谢谢!

您应该能够让 Linux 和 PostgreSQL 都使用 PAM。

但为什么不保持简单并使用 peer 身份验证呢?您登录到 linux 帐户这一事实表明您知道进行该登录的密码。还不够吗?