我希望能够通过 OpenLDAP 管理所有用户登录。我使用的是 Centos 5.3、OpenSSH 4.3p2-42 和 OpenLDAP 2.3.43。我已经安装了 GOsa2。
是否有 GOsa 插件可以管理 LDAP 中的 SSH 密钥?
我偶然发现了 openssh-lpk 补丁,但它适用于较新的 OpenSSH。我不想破坏我的服务器。是否有yum
应用此补丁的可用存储库?我是否真的需要它?
如何让 OpenSSH 向 LDAP 服务器查询密钥?我可以配置 PAM 以某种方式执行此操作吗?
非常感谢您的建议。
谢谢
答案1
我也为这个问题苦苦挣扎了一段时间。首先检查 openssh 的版本是否 >6.2,然后检查 gosa 的 sshpublickey 的语法。
我将它安装在 Debian 7.7 上,然后将 dist 升级到 Debian 8 以获取最新的 openSSH 功能。
做
ldapsearch -x '(&(objectClass=posixAccount)(uid='<Your user>'))' sshPublickey
如果你用 gosa 添加它,它可能会显示类似
sshPublicKey::c3NoLXJzYSBBQUFBQ........等等
这是因为它以某种我还没弄清楚的方式被散列了,但你可以手动创建一个名为 sshkey.ldif 的文件并添加以下内容
dn: cn=Jonas Pedersen,ou=people,dc=kirk,dc=local
changetype: modify
add: objectClass
objectClass: ldapPublicKey
-
add: sshPublicKey
sshPublicKey: ssh-rsa <your_key> "Comment" jkp@aptproxy
然后使用 ldapmodify 进行修改
ldapmodify -x -D cn=admin,dc=kirk,dc=local -W -f sshkey.ldif
我的条目与 Gosa 和 ldapmodify 类似
那么请看这里ldap-ssh-密钥