我们有一个客户端内部networking,客户端用户凭据存储在一个MySQL数据库。
我们现在试图启用SSH访问我们的服务器为每个客户端 – 身份validation将来自我们现有的数据库。
任何帮助都是极好的。
它确实看起来像OS X使用PAM。 在这种情况下,您应该使用PAM-MySQL来执行您想要的任何types的身份validation。 开箱即用OS X为sshd使用了一个非常简单的PAMconfiguration:
$ cat /etc/pam.d/sshd #sshd:auth帐号密码会话 auth需要pam_nologin.so auth可选的pam_afpmount.so validation足够的pam_securityserver.so validation足够的pam_unix.so auth需要pam_deny.so 帐户需要pam_securityserver.so 密码需要pam_deny.so 会话需要pam_launchd.so 会话可选pam_afpmount.so
我之前没有设置PAM-MySQL,但假设它与其他外部数据库PAM模块类似,将会有一个configuration文件用于select数据库凭证,应该使用哪些表等。然后,您将插入auth sufficient pam_mysql.so在/etc/pam.d/sshd的pam_unix.so行之前。
理论上说,应该是你需要的一切。
可能有几种方法可以做到这一点:
对于第一个选项,请参阅Apple的Mac OS X Server文档 , 那些涉及到开放目录。 有一个dscl命令可以从脚本运行来添加/删除/更新Open Directory中的条目。
有关目录服务选项,请参阅Apple的目录服务文档 ,尤其是 编写Open Directory插件文档。
也许还有其他的方法,但是这两个是让人想起的。