如何为 ssh 使用 sql 数据库?

How to use a sql DB for ssh?

我有一个 web 应用程序,我想为用户提供一个功能,使其能够通过 ssh 连接到 linux 服务器,而无需将所有用户的凭据从 Psql 数据库添加到 linux 服务器。相反,我想直接将凭据用于 ssh。我认为使用 linux 可插入身份验证模块 (pam) 是可能的,但是我不知道从哪里开始,我需要一些帮助吗?

您需要为数据库中的用户设置 pam_pgsql 和 nss_pgsql 成为第一个 class 公民(本地用户)。然后他们将能够像您的用户一样从 passwd/shadow/group 个文件中轻松地进行 ssh。

从上述软件包安装开始,并阅读它们的配置手册。请记住:PAM 用于身份验证,NSS 用于 name-to-uid 和反向翻译。