- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 PHP 应用程序,其中包含用户名和公共(public) SSH key 。我想将这些帐户用作 openssh 的用户后端。
我想我需要使用 pam_exec 和 PHP/Bash 脚本。我写了一个可以在 CLI 上执行的 php 脚本(shebang 设置了一个 php 可执行文件的环境)。如果我需要将它包装在 bash 脚本中而不是访问环境变量,我可以这样做。该脚本目前将用户名作为其第一个也是唯一的参数,如下所示:
/opt/scripts/my-auth-script.php user_to_look_for
脚本将在成功(用户存在)时退出 0,如果不成功则退出 1。它目前也回显 OK 或 Failed,但我可以轻松地将其关闭。
所以,我的问题是,在查看用户帐户的实际主机系统之前,我如何让 pam_exec 调用我的脚本来查找用户帐户?
最佳答案
我已经开始工作了。方法是在sshd_config中设置openssh的AuthorizedKeysCommand和AuthorizedKeyUser设置。有一个警告,github 和其他人通过在客户之间共享的单个登录用户提供 ssh 作为服务的原因是被调用的用户必须可由正在登录的系统解析,因此它们必须存在于本地,或者用户数据库必须连接到 LDAP 之类的远程源,然后也必须将其集成到应用程序中。
不过,解决这个问题的方法是,AuthorizedKeyCommand 可以采用参数,%u 用于用户名,在这种情况下,%k 用于 key 或 %f 用于 key 的 sha256 指纹。然后,该脚本可以忽略给它的通用用户名,然后只检查数据库以查找 key 或指纹的匹配项。如果我们找到它,我们就有了该 key 的用户和成功的身份验证。如果不是,我们不会。
关于linux - 为 openssh 使用 pam_exec 的帐户的外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41914212/
我在 hpw 上找不到使用 pam_exec 运行外部程序的示例,该程序将在用户登录时对用户进行身份验证。 我的 pam.d 文件中有以下内容 auth required pam_exec.so d
我正在运行一个脚本来监控 SSH 登录。我添加到/etc/pam.d/sshd session optional pam_exec.so seteuid /usr/bin/tgstk login
我有一个 PHP 应用程序,其中包含用户名和公共(public) SSH key 。我想将这些帐户用作 openssh 的用户后端。 我想我需要使用 pam_exec 和 PHP/Bash 脚本。我写
我很难完成这项工作:我有一个 python 脚本,它执行所需的步骤以获得授权 URL。当我从终端运行此脚本时,我从 Azure 收到此消息: To sign in, use a web browser
我正在使用 sshd_config 变量 PermitUserEnvironment #/etc/ssh/sshd_config PermitUserEnvironment yes 在/root/.s
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我是一名优秀的程序员,十分优秀!